Python3 列表,元组,字典,字符串知识小结
一、知识概要
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)) # 以右为准,以目标分割,分割一次