本节内容
列表、元组操作
字符串操作
字典操作
集合操作
文件操作
字符编码与转码
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 int)28 print(30 int)29 print("测试10是否不是t的成员:")30 print(10 not int)31 print(30 not int)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语句
为了避免打开文件后忘记关闭,可以通过管理上下文,即
withopen('log','r',encoding="utf-8")) as f:
6. 字符编码与转码
转码运用较多的是爬虫,因为很多互联网的网址用的编码格式复杂,因而需要转码。