本节内容
1.列表操作
2.元组操作
3.字符串操作
4.字典操作
5.集合操作
6.文件操作
7.字符编码与转换
一、列表操作
定义列表
names = [‘Ming‘,"Hua",‘Jun‘]
通过下标访问列表中的元素,下标从0开始计数
>>> names[0] ‘Ming‘ >>> names[2] ‘Hua‘ >>> names[-1] ‘Jun‘ >>> names[-2] #还可以倒着取 ‘Hua‘
切片:取多个元素
>>> names = ["Ming","Tenglan","Eric","Rain","Tom","Amy"] >>> names[1:4] #取下标1至下标4之间的数字,包括1,不包括4 [‘Tenglan‘, ‘Eric‘, ‘Rain‘] >>> names[1:-1] #取下标1至-1的值,不包括-1 [‘Tenglan‘, ‘Eric‘, ‘Rain‘, ‘Tom‘] >>> names[0:3] [‘Ming‘, ‘Tenglan‘, ‘Eric‘] >>> names[:3] #如果是从头开始取,0可以忽略,跟上句效果一样 [‘Alex‘, ‘Tenglan‘, ‘Eric‘] >>> names[3:] #如果想取最后一个,必须不能写-1,只能这么写 [‘Rain‘, ‘Tom‘, ‘Amy‘] >>> names[3:-1] #这样-1就不会被包含了 [‘Rain‘, ‘Tom‘] >>> names[0::2] #后面的2是代表,每隔一个元素,就取一个 [‘Ming‘, ‘Eric‘, ‘Tom‘] >>> names[::2] #和上句效果一样 [‘Ming‘, ‘Eric‘, ‘Tom‘]
追加
>>> names [‘Ming‘, ‘Tenglan‘, ‘Eric‘, ‘Rain‘, ‘Tom‘, ‘Amy‘] >>> names.append("我是新来的") >>> names [‘Ming‘, ‘Tenglan‘, ‘Eric‘, ‘Rain‘, ‘Tom‘, ‘Amy‘, ‘我是新来的‘]
修改
>>> names [‘Ming‘, ‘Tenglan‘, ‘强行从Eric前面插入‘, ‘Eric‘, ‘Rain‘, ‘从eric后面插入试试新姿势‘, ‘Tom‘, ‘Amy‘, ‘我是新来的‘] >>> names[2] = "该换人了" >>> names [‘Ming‘, ‘Tenglan‘, ‘该换人了‘, ‘Eric‘, ‘Rain‘, ‘从eric后面插入试试新姿势‘, ‘Tom‘, ‘Amy‘, ‘我是新来的‘]
删除
>>> del names[2] >>> names [‘Ming‘, ‘Tenglan‘, ‘Eric‘, ‘Rain‘, ‘从eric后面插入试试新姿势‘, ‘Tom‘, ‘Amy‘, ‘我是新来的‘] >>> del names[4] >>> names [‘Ming‘, ‘Tenglan‘, ‘Eric‘, ‘Rain‘, ‘Tom‘, ‘Amy‘, ‘我是新来的‘] >>> >>> names.remove("Eric") #删除指定元素 >>> names [‘Ming‘, ‘Tenglan‘, ‘Rain‘, ‘Tom‘, ‘Amy‘, ‘我是新来的‘] >>> names.pop() #删除列表最后一个值 ‘我是新来的‘ >>> names [‘Ming‘, ‘Tenglan‘, ‘Rain‘, ‘Tom‘, ‘Amy‘]
扩展
>>> names [‘Ming‘, ‘Tenglan‘, ‘Rain‘, ‘Tom‘, ‘Amy‘] >>> b = [1,2,3] >>> names.extend(b) >>> names [‘Ming‘, ‘Tenglan‘, ‘Rain‘, ‘Tom‘, ‘Amy‘, 1, 2, 3]
拷贝
>>> names [‘Ming‘, ‘Tenglan‘, ‘Rain‘, ‘Tom‘, ‘Amy‘, 1, 2, 3] >>> name_copy = names.copy() >>> name_copy [‘Ming‘, ‘Tenglan‘, ‘Rain‘, ‘Tom‘, ‘Amy‘, 1, 2, 3]
统计
>>> names [‘Ping‘, ‘Tenglan‘, ‘Amy‘, ‘Tom‘, ‘Amy‘, 1, 2, 3] >>> names.count("Amy") 2
排序&翻转
>>> names [‘Ming‘, ‘Tenglan‘, ‘Amy‘, ‘Tom‘, ‘Amy‘, 1, 2, 3] >>> names.sort() #排序 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unorderable types: int() < str() #3.0里不同数据类型不能放在一起排序了,擦 >>> names[-3] = ‘1‘ >>> names[-2] = ‘2‘ >>> names[-1] = ‘3‘ >>> names [‘Ming‘, ‘Amy‘, ‘Amy‘, ‘Tenglan‘, ‘Tom‘, ‘1‘, ‘2‘, ‘3‘] >>> names.sort() >>> names [‘1‘, ‘2‘, ‘3‘, ‘Ming‘, ‘Amy‘, ‘Amy‘, ‘Tenglan‘, ‘Tom‘] >>> names.reverse() #反转 >>> names [‘Tom‘, ‘Tenglan‘, ‘Amy‘, ‘Amy‘, ‘Ming‘, ‘3‘, ‘2‘, ‘1‘]
获取下标
>>> names [‘Tom‘, ‘Tenglan‘, ‘Amy‘, ‘Amy‘, ‘Ming‘, ‘3‘, ‘2‘, ‘1‘] >>> names.index("Amy") 2 #只返回找到的第一个下标
二、元组操作
定义元组
names = ("ming","jack","eric")
元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表语法。
它只有2个方法,一个是count,一个是index,完毕。
三、字符串操作
>>> n3_arg {‘name‘: ‘ping‘, ‘age‘: 33} >>> n3 ‘my name is {name} and age is {age}‘ >>> n3.format_map(n3_arg) ‘my name is ping and age is 33‘ >>> n4.ljust(40,"-") ‘Hello 2orld-----------------------------‘ >>> n4.rjust(40,"-") ‘-----------------------------Hello 2orld‘ >>> s = "Hello World!" >>> p = str.maketrans("abcdefg","[email protected]#$%^") >>> s.translate(p) ‘H$llo Worl#! >>> b="ddefdsdff_哈哈" >>> b.isidentifier() #检测一段字符串可否被当作标志符,即是否符合变量命名规则 True
不常用的操作
四、字典操作
字典一种key - value 的数据类型;它是无序的;key必须是唯一的,所以天生去重。
定义字典
info = { ‘stu1101‘: "xiao ming", ‘stu1102‘: "xiao hong", ‘stu1103‘: "xiao jun", }
增加
修改
删除
查找
多级字典嵌套及操作
循环字典
#方法1 for key in info: print(key,info[key]) #方法2 for k,v in info.items(): #会先把dict转成list,数据里大时莫用 print(k,v)
时间: 2024-10-14 10:15:06