python知识点总结02:列表、字典、集合
本节内容
- 列表、元组操作
- 字符串操作
- 字典操作
- 集合操作
- 文件操作
- 字符编码与转码
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 }
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())
还有其他的,可以在用的时候再看
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. 字符编码与转码
转码运用较多的是爬虫,因为很多互联网的网址用的编码格式复杂,因而需要转码。


浙公网安备 33010602011771号