Python学习-列表元组字典操作
一、列表
列表是Python的基本数据类型之一,它是以 [] 括起来的,内部成员用逗号隔开。里面可以存放各种数据类型。
# 例如: list2 = ['jason', 2, (1, 3), ['warrior', 'hello'], 'world']
1、列表的索引和切片
names = ['库里', '杜兰特', '考辛斯', '汤普申', '格林', '麦基'] # 索引 print(names[2]) # 考辛斯 print(names[-1]) # 麦基 # 切片 print(names[1:3]) # ['杜兰特', '考辛斯'] print(names[-3:]) # ['汤普申', '格林', '麦基'] print(names[1:5:2]) # ['杜兰特', '汤普申']
2、列表的增删改查
2.1 新增 append, extent, insert
names = ['汤普申', '格林', '麦基'] # 增加 names.append('麦考') # ['汤普申', '格林', '麦基', '麦考'] names.extend('麦考') # ['汤普申', '格林', '麦基', '麦', '考'] names.extend(['利文', '伊戈']) # ['汤普申', '格林', '麦基', '利文', '伊戈'] names.extend('james') # ['汤普申', '格林', '麦基', 'j', 'a', 'm', 'e', 's'] names.insert(1, '海沃德') # ['汤普申', '海沃德', '格林', '麦基'] ''' append: 把元素追加到列表末尾 extend: 一次性追加多个元素,参数必须是可迭代的,迭代方式增加 insert: 在给定的索引位置前插入元素,原索引处元素后移 '''
2.2 删除 pop, remove, del, clear
names = ['汤普申', '格林', '麦基'] # 删除 names.pop() # ['汤普申', '格林'] names.pop(1) # ['汤普申', '麦基'] names.remove('麦基') # ['汤普申', '格林'] del names[1] # ['汤普申', '麦基'] ''' pop() 默认移除最后一个,有返回值; 可以指定索引,删除指定索引处的值 remove() 只有一个参数 '''
clear() 方法,用于清空整个列表。
2.3 修改
names = ['库里', '杜兰特', '考辛斯', '汤普申', '格林', '麦基'] # 修改 names[2] = '戴维斯' # ['库里', '杜兰特', '戴维斯', '汤普申', '格林', '麦基'] names[0:2] = '西布' # ['西', '布', '考辛斯', '汤普申', '格林', '麦基'] names[0:2] = '东欧文' # ['东', '欧', '文', '考辛斯', '汤普申', '格林', '麦基']
2.4 遍历查询
names = ['汤普申', '格林', '麦基'] # 遍历 for element in names: print(element) 运行结果: 汤普申 格林 麦基
2.5 其他操作
names = [3, 1, 5, 2] r = names.count('格林') # 某元素出现的次数 有返回结果 r = names.sort() # 元素排序,默认升序 没有返回结果 names.sort() # 排序,默认升序 names.sort(reverse=True) # 可以指定参数reverse的值,True or False,为True时,降序 names.reverse() # 反向排序
二、元组
元组和列表类似,可以理解为不可变的列表或制度列表。所有元素用括号括起来,内部元素可以是任意类型。可以进行查询、循环、索引、切片等操作,但就是不能修改。
常用的方法与列表类似,不再赘述。
三、字典
字典是Python中的另一种可变容器类型, 可以存储任意类型对象。
字典的每个键值对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号中。字典的一般格式如下:
>>> d = {'a': 1, 'b': 2} >>> d {'a': 1, 'b': 2} >>> d1 = {'a': 1, 'b': 2, 'b':3} >>> d1 {'a': 1, 'b': 3} >>>
注:1) 字典中键是唯一的,如果存在重复的键,前面的键值会被后面相同键名所对应的值覆盖。
2) 字典中的键是不可变的,可以是整形、字符串或元组;键所对应的值可以重复。
1. 字典的创建
>>> d = {'name': 'jason'} >>> d['age'] = 25 #直接给新增的key赋值,如果key在字典中不存在,新增此key:value对;如果key在字典中已存在,会覆盖该key对应的value。 >>> d {'name': 'jason', 'age': 25} >>> d.setdefault('sex') #setdefault方法在操作时分两步:1、查询这个key(第一个参数)在字典中是否存在,存在则不进行任何操作;不存在则新增到字典中 2、返回该key所对应的value >>> d {'name': 'jason', 'age': 25, 'sex': None} >>> d.setdefault('age', 26) 25 >>> d {'name': 'jason', 'age': 25, 'sex': None} >>> d.setdefault('address', 'JL') 'JL' >>> d {'name': 'jason', 'age': 25, 'sex': None, 'address': 'JL'} >>>
2. 字典的删除
pop(key) ; del dic[key]
>>> d {'name': 'jason', 'age': 25, 'address': 'JL'} >>> d.pop('address') # 参数不能为空 'JL' >>> d {'name': 'jason', 'age': 25} >>> del d['age'] >>> d {'name': 'jason'}
3. 字典的修改
>>> d {'name': 'jason'} >>> d['age'] = 26 >>> d {'name': 'jason', 'age': 26} >>> d['name'] = 'jack' >>> d {'name': 'jack', 'age': 26} >>> d1 = {'name': 'james', 'sex': 'male'} >>> d.update(d1) # 用d1更新d中的内容,如果key已存在,则覆盖修改,如果key不存在,则新增 >>> d {'name': 'james', 'age': 26, 'sex': 'male'} >>>
4. 字典的查询
>>> d {'name': 'james', 'age': 26, 'sex': 'male'} >>> d['name'] #指定key,直接查询 'james' >>> d['addr'] #key不存在,使用此方法程序会报错 Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 'addr' >>> d.get('age') #使用get方法 26 >>> d.get('addr') #查询的key不存在,没有返回值 >>> d.get('addr', 'JL') #查询的key不存在,可以指定默认值(第二个参数)返回 'JL' >>>
5. 字典的其他操作
>>> d {'name': 'james', 'age': 26, 'sex': 'male'} >>> r = d.keys() #返回的值与列表很像,但不是列表,也是可迭代的对象;实际使用时,我们把它当成列表来使用就可以 >>> r dict_keys(['name', 'age', 'sex']) >>> type(r) <class 'dict_keys'> >>> for i in d.keys(): ... print(i) ... name age sex >>> for i in d.values(): ... print(i) ... james 26 male >>> for k, v in d.items(): ... print(k, v) ... name james age 26 sex male
字典的内置函数:摘自菜鸟教程
字典的内置方法:
以上就是Python中列表、元组、字典的一些常用操作及方法。