一、知识概要
1. 列表,元组,字典,字符串的创建方式
2. 列表,元组,字典,字符串的方法调用
3. 列表,元组,字典,字符串的常规用法
二、列表
1 # 列 表
2
3 # 列表基础
4 list_1 = ['a','b','c','d','e','f']
5 list_2 = ['apple','banana','watermelon','strawberry','banana','apple']
6 print(list_1)
7 print("##########")
8 # 列表得下标是从0开始的,之后的一次+1
9 print(list_1[0])
10 print("##########")
11 print(list_1[4])
12 print("##########")
13 print(list_1[1:3]) # 从下标为1的元素开始,到下标为3的终止
14 print("##########")
15 print(list_1[1:-2]) # -2是指将列表的顺序倒置,结尾变为开头,下标相对来说变为0向前依次 -1
16 print("##########")
17 print(list_1[::2]) # 前面两个冒号分别使用默认的参数,最后一个数字表示步长,两步一取
18 print("##########")
19
20 # 列表的增、删、改
21 list_1.append('z') # 在结尾加一个元素
22 print(list_1)
23 print("##########")
24 list_1.insert(1,'y') # 在指定位置增加元素,在a后b前插入y
25 print(list_1)
26 print("##########")
27 a = list_2.extend(list_1) # 将list_1和list_2合并
28 print(a)
29 print("##########")
30 list_1[4] = 'o' # 修改第五个元素
31 print(list_1)
32 print("##########")
33 list_1[2:3] = ['p','q'] # 修改连续的元素
34 print(list_1)
35 print("##########")
36 list_1.remove(list_1[3]) # 删除下标为3的元素
37 print(list_1)
38 print("##########")
39 list_1.pop(2) # 直接加下标
40 print(list_1)
41 print("##########")
42 # del list_1[2] 删除列表中的下标为2的元素
43 # del list_1 直接删除掉列表
44
45 # 列表的一些方法
46 # count
47 print(list_2.count('apple')) # count是计算出现次数的方法
48 print("##########")
49
50 # index
51 print(list_2.index('banana')) # 寻找banana在哪个位置
52 print("##########")
53 one_apple = list_2.index('apple')
54 print(one_apple)
55 list_3 = list_2[one_apple+1:]
56 two_apple = list_3.index('apple')
57 list_4_index = one_apple + two_apple +1
58 print(list_4_index) # 输出第二个位置
59 print("##########")
60
61 # reverse
62 list_1.reverse() # 倒叙
63 print(list_1)
64 print("##########")
65
66 # sort
67 list_5 = [6,4,3,7,5,5,8,1]
68 list_5.sort() # 排序(从小到大)
69 print(list_5)
70 print("##########")
71
72 # clear
73 list_5.clear() # 清空列表
74 print(list_5)
75 print("##########")
三、元组
1 # 元 组
2
3 tuple1 = (1,) # 只有一个元素的话,后面加一个逗号,对之后的学习有所帮助
4 tuple2 = (1,2,3,4,5)
5 # tuple2[2] = 10 # 元组是不可修改的
四、字典
1 # 字 典
2
3 dictionary1 = {'country':'China','city':'beijing'} # 创建字典(常用),前面为键,后面为键值
4 dictionary2 = dict((('city','shanghai'),)) # 创建字典
5 # 键是不可变类型:整型,字符串,元组
6 # 可变类型有:列表,字典
7 print(dictionary1)
8 print(dictionary1['city'])
9 print(dictionary2)
10 # 字典两大特点:无序,键值唯一
11 print("##########")
12
13
14 dictionary2['city'] = 'tianjin' # 修改字典,增加内容
15 print(dictionary2)
16 print("##########")
17 return1 = dictionary2.setdefault('location','north') # 增加内容,如果有则不做修改
18 print(dictionary2)
19 print(return1) # 返回键值
20 print("##########")
21 print(dictionary1.keys()) # 查看字典当中用那些键
22 print(list(dictionary1.keys())) # 用列表的形式展示
23 print(dictionary1.values()) # 只查看键值
24 print(dictionary1.items()) # 将字典当中的所有键值对拿出
25 print("##########")
26
27 dictionary3 = {1:1,2:2}
28 dictionary4 = {1:3,4:5,6:7}
29 dictionary3.update(dictionary4) # 更新字典,如果有键相同,则更新键值;如完全没有,则更新在后方
30 print(dictionary3)
31 print(dictionary4)
32 print("##########")
33
34 # 删除字典
35 eg = dictionary3.popitem() # 不加键,则会随机删除键值对
36 print(eg,'||',dictionary3)
37 dictionary4.pop(6) # 删除键为6的信息
38 print(dictionary4)
39 del dictionary4[4] # 删除键为4的信息
40 print(dictionary4)
41 dictionary4.clear() # 清空字典,只留下框架轮廓
42 print(dictionary4)
43 print("##########")
44
45 dictionary5 = dict.fromkeys(['a','b','c'],['z','y']) # 分配率,将后面最为一个整体
46 print(dictionary5)
47
48 dictionary5['b'][0] = 'x' # 需要理解深浅拷贝
49 print(dictionary5)
50 print("##########")
51 print(sorted(dictionary5)) # 字典的排序
52 print(sorted(dictionary5.values())) # 根据值排序
53 print("##########")
54
55 # 字典的遍历
56 dictionary6 = {'num1':10,'num2':52,'num3':33}
57 # 效率较高
58 for i in dictionary6:
59 print(i,dictionary6[i])
60 print("##########")
61 # 效率很低
62 for a,b in dictionary6.items():
63 print(a,b)
64 print("##########")
五、字符串
1 # 字符串
2 str1 = '1'
3 str2 = "2" # Python中单引号与双引号没什么区别
4 print(str1)
5 print(str2)
6 print(str2*200)
7 str3 = 'asdqwezxc'
8 print(str3[2:])
9 print('as' in str3) # 判断此字段是否在字符串之中
10 print('aq' in str3)
11 print(str1+str2) # 字符串拼接(效率很低)
12 eg1 = '......'.join([str1,str2]) # 通过单引号的符号连接将要拼接的两个字符串
13 print(eg1)
14 print("##########")
15
16
17 # 字符串内置方法
18 str4 = 'it is a bea\tutiful city 是 {name}\n'
19 print(str4.count('s')) # 统计数目
20 print(str4.capitalize()) # 字符串首字母大写
21 print(str4.center(100,'-')) # 居中(距离和符号)
22 print(str4.endswith('ful')) # 以某个内容结尾
23 print(str4.startswith('it')) # 以某个内容开始
24 print(str4.expandtabs(tabsize=20)) # 对\t的空格数改为20,默认为4
25 print(str4.find('b')) # 查找到的第一个元素,返回下标号
26 print("##########")
27
28 # 格式化输出
29 print(str4.format(name = 'beijing')) # 将name改为具体的名字
30 print(str4.format_map({'name':'shanghai'}))
31 print(str4.index('b')) # 查找索引值,和fund()相似,但是index找不到会报错
32 print(str4.isalnum()) # 不常用,是否是数字,字母,中文
33 print(str4.isdecimal()) # 不常用,是否是十进制的数
34 print(str4.isdigit()) # 是否为数字
35 print(str4.isnumeric()) # 是否为数字
36 print(str4.isidentifier()) # 是否为非法变量
37 print("##########")
38 print(str4.islower()) # 是否都是小写
39 print(str4.isupper()) # 是否都是大写
40 print(str4.isspace()) # 是否是个空格
41 print(str4.istitle()) # 每一个词的首字母是否是大写
42 print(str4.lower()) # 大写全部变小写
43 print(str4.upper()) # 小写全部变大写
44 print(str4.swapcase()) # 字母大小写反转
45 print(str4.ljust(100,':')) # 向左对齐
46 print(str4.rjust(100,':')) # 向右对齐
47 print("##########")
48 print(str4.strip()) # 去掉换行符,空格
49 print(123) # 前面的换行符被去掉
50 print("##########")
51 print(str4.replace('city','城市')) # 替换内容,也可以部分替换
52 print(str4.rfind('t')) # 真实的索引位置
53 print(str4.split(' ')) # 字符串的分割
54 print(str4.rsplit('b',1)) # 以右为准,以目标分割,分割一次