python知识点总结02:列表、字典、集合

本节内容

  1. 列表、元组操作
  2. 字符串操作
  3. 字典操作
  4. 集合操作
  5. 文件操作
  6. 字符编码与转码 

1. 列表、元组操作

通过列表可以对数据实现最方便的存储、修改等操作。

1.1切片

1.2 追加

1.3 插入  insert

1.4 修改

1.5 删除 pop remove del

del name[2],

remove("zhangsan")

name.pop()

1.6 扩展 extend  将多个列表整理出来

1.7 copy 深浅复制

1.8 统计  name.count()

1.9获取下标  name.index

1.10 排序,翻转

names.sort()

names.reverse()

 

元组:

和列表差不多,但一旦创建将不能再修改,只读列表

只有两个方法:index(),count()

 

2.字符串操作

特性:不可修改

常用功能:

2.1 首字母大写:   name.capitalize() 

2.2 大写全部变小写:name.casefold() 

2.3 统计次数 :names.count("xx")

2.4 将字符串编码成bytes格式:names.encode()

2.5 判断是否串以什么开始,以什么结尾: name.endswith("Moll")      name.startswith("Moll") 

2.6 将\t转换成多长的空格  "moll\twpd".expandtabs(10) 输出'moll          wpd',

2.7查找,nams.find(moll")

2.8 格式输出 format 

无参格式输出

1 str01="if you decide {},you can do it as far as your possible {}".format("it","moll")
2 print(str01)

有参个数输出

1 str02="if you decide {_it},you can do it as far as your possible {_name}".format(_it="it",_name="moll")
2 print(str02)

另一种 format_map输出

str03="if you decide {name},you can do it as far as your possible {age}"
str03.format_map({'name':'alex','age':28})
print(str03)

2.9返回xx所在的索引  name.index('moll')

2.10 是否为整数 names.isdigit

2.11 

str1.isalnum()
str1.isalpha()
str1.isdigit()
str1.islower()
str1.isupper()
str1.isspace()
str1.istitle()

2.12 

str.join(str1)
str.ljust(width)
str.rjust(width)
str.lower()
str.lstrip()
str.rstrip

2.13

maketrans()
translate()

2.14

str.replace(old,new,max)--max替换的最大次数
str.replace(old,new)

 

 

 

3. 字典操作

特性:

1、无顺序、

2、去重

3、查询速度快,比列表快多了

4、比list占用内存多

查询速度快的原因:

  是hash类型,一般用于快速查找和加密算法。

 

names={"name1":"moll",
       "name2":"wpd"
       }

3.1 增加 

names["name3"]="小布丁"

3.2删除

names.pop['name1']

del names['name1']

names.popitem():随机删除

3.3 查找

“name2" in names #标准用法

names.get('name2')

 3.4 多级嵌套

 1 mennu_dict={
 2     "天津":{
 3         "河东": {
 4             "河东01区": {
 5                 "嘉陵区01": "00101号",
 6                 "顺庆区01": "00201号"
 7             },
 8             "河东02区": {
 9                 "双河01": "双河中学01",
10                 "小桥01": "小桥一中01"
11             }
12         },
13         "河西": {
14             "河西01": {
15                 "河西0101": "0101栋",
16                 "河西0102": "0201栋"
17             },
18             "河西02": {
19                 "河西0201": "0301栋",
20                 "河西0202": "0401栋"
21             }
22         }
23     },
24     "四川":{
25         "南充":{
26             "南充市区":{
27                 "嘉陵区":"001号",
28                 "顺庆区":"002号"
29             },
30             "营山": {
31                 "双河":"双河中学",
32                 "小桥":"小桥一中"
33             }
34         },
35         "广元":{
36             "广元01":{
37                 "区县01":"01栋",
38                 "区县02":"02栋"
39             },
40             "广元02": {
41                 "区县03":"03栋",
42                 "区县04":"04栋"
43             }
44         }
45     }
46 }
View Code

3.5 其他用法

names.keys()

names.values()

names.setdefault()

names.update(b)

names.items()

 

循环字典

 

#方法1--常用
for key in info:
print(key,info[key])

#方法2
for k,v in info.items(): #会先把dict转成list,数据里大时莫用
print(k,v)

 

 

4. 集合

集合是无序的,不重复的数据组合,主要作用:

1、去重,把一个列表变成集合,就自动去重

2、关系测试,并、交、差等关系

 1 #Author:mollsweet
 2 s=set([3,5,9,10])
 3 t=set([5,6,9])
 4 print("------------并集,去重-----------")
 5 print(t|s)
 6 print(t.union(s))
 7 print("------------交集-----------")
 8 print(t & s)
 9 print(s.intersection(t))
10 print("------------差集-----------")
11 print(t-s)
12 print(t.difference(s))
13 print("------------对称差集-----------")#在t或s中,但不会同时出现在二者中、
14 print(t^s)
15 print(t.symmetric_difference(s))
16 print("------------其他-----------")
17 #添加
18 t.add(0)
19 print(t)
20 #添加多项
21 t.update([10,30])
22 print(t)
23 t.remove(10)
24 print(t)
25 print("长度:",len(t))
26 print("测试10是否是t的成员:")
27 print(10 in t)
28 print(30 in t)
29 print("测试10是否不是t的成员:")
30 print(10 not in t)
31 print(30 not in t)
32 print("测试是否t中的每个元素都在s中:")
33 print(s.issubset(t))
34 print(s<=t)
35 print("----------复制-----------------")
36 print(t.copy())
View Code

还有其他的,可以在用的时候再看

 

 

5. 文件操作

操作步骤:

1、打开文件

2、通过句柄对文件进行操作

(句柄是一种特殊的智能指针,程序设计,整个Windows编程的基础)

3、关闭文件

f = open('lyrics') #打开文件
first_line = f.readline()
print('first line:',first_line) #读一行
print('我是分隔线'.center(50,'-'))
data = f.read()# 读取剩下的所有内容,文件大时不要用
print(data) #打印文件
 
f.close() #关闭文件

with语句

为了避免打开文件后忘记关闭,可以通过管理上下文,即

 with open('log','r',encoding="utf-8")
) as f:

 

6. 字符编码与转码

转码运用较多的是爬虫,因为很多互联网的网址用的编码格式复杂,因而需要转码。

 

posted @ 2018-11-05 19:06  mollsweet  阅读(230)  评论(0)    收藏  举报