首页 > 代码库 > python 列表、元组、字符串、字典、集合、return等梳理
python 列表、元组、字符串、字典、集合、return等梳理
有必要对这些数据类型及操作做下梳理:
1.列表:增删改查
a.查找:
1 >>> names=["zhang","wang","li","zhao"] 2 #列表天生具有下标,基于下标0,1,2,...进行查找 3 >>> names[1] 4 ‘wang‘ 5 #列表的切片,即也是基于下标进行操作 6 >>> names[1:3] 7 [‘wang‘, ‘li‘] 8 >>> names[-1:] 9 [‘zhao‘] 10 >>> names[:3] 11 [‘zhang‘, ‘wang‘, ‘li‘] 12 >>> names[1:] 13 [‘wang‘, ‘li‘, ‘zhao‘] 14 #基于列表中的值找下标 15 >>> print(names.index(‘li‘)) 16 2 17 >>> print(names[names.index(‘li‘)]) 18 li 19 #基于for循环查找列表值 20 >>> for i in names: 21 ... print(i) 22 ... 23 zhang 24 wang 25 li 26 zhao
b.修改
1 >>> names=["zhang","wang","li","zhao"] 2 >>> names.append("Sun") 3 >>> names 4 [‘zhang‘, ‘wang‘, ‘li‘, ‘zhao‘, ‘Sun‘] 5 >>> names.insert(1,‘qian‘) 6 >>> names 7 [‘zhang‘, ‘qian‘, ‘wang‘, ‘li‘, ‘zhao‘, ‘Sun‘] 8 >>> names[2] = ‘gao‘ 9 >>> names 10 [‘zhang‘, ‘qian‘, ‘gao‘, ‘li‘, ‘zhao‘, ‘Sun‘]
c.删除
1 >>> names 2 [‘zhang‘, ‘qian‘, ‘gao‘, ‘li‘, ‘zhao‘, ‘Sun‘] 3 >>> names.remove(‘zhang‘) 4 >>> names 5 [‘qian‘, ‘gao‘, ‘li‘, ‘zhao‘, ‘Sun‘] 6 >>> del names[1] 7 >>> names 8 [‘qian‘, ‘li‘, ‘zhao‘, ‘Sun‘] 9 >>> names.pop() 10 ‘Sun‘ 11 >>> names.pop(1) 12 ‘li‘ 13 >>> names 14 [‘qian‘, ‘zhao‘]
d.增加
1 >>> names 2 [‘qian‘, ‘zhao‘] 3 >>> names.append(‘Sun‘) #追加 4 >>> names 5 [‘qian‘, ‘zhao‘, ‘Sun‘] 6 >>> names.insert(1,‘zhang‘) #插入 7 >>> names 8 [‘qian‘, ‘zhang‘, ‘zhao‘, ‘Sun‘] 9 >>> names2=[1,2,3,4] 10 >>> names.extend(names2) #合并 11 >>> names 12 [‘qian‘, ‘zhang‘, ‘zhao‘, ‘Sun‘, 1, 2, 3, 4] 13 #深浅copy 14 >>> names3 = names.copy()#浅copy,指向同一块内存地址 15 >>> names 16 [‘qian‘, ‘zhang‘, ‘zhao‘, ‘Sun‘, 1, 2, 3, 4] 17 >>> names3 18 [‘qian‘, ‘zhang‘, ‘zhao‘, ‘Sun‘, 1, 2, 3, 4] 19 #深copy,新增一块内存地址,把数据完全copy一份到新内存 20 >>> import copy 21 >>> names 22 [‘qian‘, ‘zhang‘, ‘zhao‘, ‘Sun‘, 1, 2, 3, 4] 23 >>> names4 = copy.deepcopy(names) 24 >>> names4 25 [‘qian‘, ‘zhang‘, ‘zhao‘, ‘Sun‘, 1, 2, 3, 4]
2.元组:只能查询和切片,也叫只读列表,只有count和index方法
1 >>> names = (‘alex‘,‘wang‘,‘eric‘) 2 >>> names.append(‘li‘) 3 Traceback (most recent call last): 4 File "<stdin>", line 1, in <module> 5 AttributeError: ‘tuple‘ object has no attribute ‘append‘ 6 >>> names[1] 7 ‘wang‘ 8 9 >>> print(names.index(‘alex‘)) 10 0 11 >>> print(names[names.index(‘alex‘)]) 12 alex
3.字符串:文件中只能存储字符串,且不可修改
1 name="my name is alex" 2 print(name.center(50,"-")) 打印50个字符,不够用-补上,并把name放中间 3 -----------------my name is alex------------------ 4 >>> print(name.startswith(‘my‘)) #判断是否以某字符开头 5 True 6 print(name.endswith("ex")) 判断name字符串是否以ex结尾 7 My name is alex 8 9 name="my\tnameis{name}andmyageis{year}old" 10 print(name.format(name=‘alex‘,year=23)) 11 my name is alex and my age is 23 old 12 print(name.index(‘a‘)) 13 5 14 print(‘123‘.isdigit())是否为整数 15 True 16 print(‘+‘.join([‘1‘,‘2‘,‘3‘,‘4‘])) 经常用 17 1+2+3+4 18 print(‘alexli‘.replace(‘l‘,‘L‘)) 把小写l替换成大写的L 19 aLex Li 20 print(‘alex li‘.split())把字符串按空格组成一个列表 21 [‘alex‘, ‘li‘]
4.字典:key:value的数据类型,无序
>>> info = {‘stu1101‘:‘wang‘,‘stu1102‘:‘zhang‘,‘stu1103‘:‘li‘}
a.增加
1 >>> info = {‘stu1101‘:‘wang‘,‘stu1102‘:‘zhang‘,‘stu1103‘:‘li‘} 2 >>> info[‘stu1104‘] = ‘zhao‘ 3 >>> info 4 {‘stu1101‘: ‘wang‘, ‘stu1102‘: ‘zhang‘, ‘stu1103‘: ‘li‘, ‘stu1104‘: ‘zhao‘} 5 6 #合并 7 >>> info2 = {1:3,2:5} 8 >>> info.update(info2) 9 >>> info 10 {‘stu1101‘: ‘wang‘, ‘stu1102‘: ‘zhang‘, ‘stu1103‘: ‘li‘, ‘stu1104‘: ‘zhao‘, 1: 11 , 2: 5}
b.修改
1 >>> info = {‘stu1101‘:‘wang‘,‘stu1102‘:‘zhang‘,‘stu1103‘:‘li‘} 2 >>> info[‘stu1101‘] = ‘lu‘ 3 >>> info 4 {‘stu1101‘: ‘lu‘, ‘stu1102‘: ‘zhang‘, ‘stu1103‘: ‘li‘}
c.删除
1 >>> info 2 {‘stu1101‘: ‘lu‘, ‘stu1102‘: ‘zhang‘, ‘stu1103‘: ‘li‘} 3 >>> del info[‘stu1101‘] 4 >>> info 5 {‘stu1102‘: ‘zhang‘, ‘stu1103‘: ‘li‘} 6 7 info.pop("stu1101") #pop删除 8 info.popitem()随机删除
d.查询
1 >>> info 2 {‘stu1102‘: ‘zhang‘, ‘stu1103‘: ‘li‘} 3 >>> info[‘stu1102‘] 4 ‘zhang‘ 5 #判断是否存在字典中 6 print(info.get(‘stu1104‘)) 安全获取的方法 7 None 8 >>> print(‘stu1103‘ in info) 9 True 10 11 >>> info 12 {‘stu1102‘: ‘zhang‘, ‘stu1103‘: ‘li‘} 13 >>> info[‘stu1102‘] 14 ‘zhang‘ 15 >>> for i in info: #最建议的查询方式 16 ... print(i,info[i]) 17 ... 18 stu1102 zhang 19 stu1103 li 20 >>> for k,v in info.items(): 21 ... print(k,v) 22 ... 23 stu1102 zhang 24 stu1103 li 25 26 >>> print(info.items()) 27 dict_items([(‘stu1102‘, ‘zhang‘), (‘stu1103‘, ‘li‘)])
e.多级字典的查询方式
5.集合:无序,天生去重
1 >>> list = [1,2,3,4] 2 >>> list_1 = set(list) 3 >>> print(type(list_1),list_1) 4 <class ‘set‘> {1, 2, 3, 4}
关系型测试:
交差并子父对称集操作
a.增加
1 >>> list = [1,2,3,4] 2 >>> list_1 = set(list) 3 >>> print(type(list_1),list_1) 4 <class ‘set‘> {1, 2, 3, 4} 5 >>> list_1.add(999) 6 >>> list_1 7 {1, 2, 3, 4, 999} 8 >>> list_1.update([777,888]) 9 >>> list_1 10 {1, 2, 3, 4, 999, 777, 888}
b.删除
1 >>> list_1.remove(999) 2 >>> list_1 3 {1, 2, 3, 4, 777, 888} 4 >>> list_1.discard(888) 5 >>> list_1 6 {1, 2, 3, 4, 777} 7 >>> list_1.pop() 8 1
c.深浅复制,跟列表一样
d.判断
len(list_1) #测试长度
判断是否存在集合中,大于小于等
6.return
两个作用:
1.得到程序的执行结果;
2.程序结束,return后的代码不再执行;
python 列表、元组、字符串、字典、集合、return等梳理
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。