Python的列表[list],元组(tuple),字典{‘dict‘:1},集合{set}
类型 |
列表 [list] |
元组 (tuple) |
字典 {dict} |
集合 {set} |
---|---|---|---|---|
说明 |
有序,可变,可包含不同数据类型,列表可为空 | 有序,不可变,可包含不同数据类型,只有一个元素时需在元素后加逗号, | 无序,可变,key必须是不可变的数字、字符串且唯一(如有相同key,则最后一个值有效),value没有限制如数字、字符串、列表,元组等 | 无序,可变,只有键,互异,数据类型可以是数字,字符串,列表,元组,字典(字典的只有key) |
举例 |
list = [1,'mike',2,3] | tuple = (1,,'apple',2,3) | dict = {'name':'andy','age':18,'city':''上海} | set = {'apple','orange','lemon'} |
运算符 |
串接:+ 重复:* 比较大小:>或<或== 切片:list[:3]、list[2:]、list[2:4] 奇偶分离:number[1::2] 分离偶数 number[0::2]分离奇数 下标操作:list[2] in 与 not in |
串接:+ 重复:* 比较大小:>或<或== 下标操作:tuple[1] in 与 not in |
比较:== 或 != 下标操作:dict['key'] key in 与 key not in |
并集:A|B 存在A或存在B 交集:A&B 存在A也存在B 差集:A-B 存在A不存在B 异或:A^B 排除相同元素 |
操作方法 |
添加:list.append('jack') 插入:list.insert(下标值,新元素) 删除:list.remove('apple') 删除:del list[0:3] 删除0,1,2下标元素 弹出:list.pop(下标值) 排序:list.sort() 解包:name,age,addr=[‘小明’,25,‘上海’] 交换:x,y = y, x |
解包:name,age,addr= (‘小明’,25,‘上海’) 交换:x,y = y, x |
修改:dict['key'] = new_value 添加:dict['new_key'] = new_value 删除:del dict['key'] 弹出:dict.pop('key') 清空:dict.clear() 复制:dict1=dict2.copy() 更新或合并:dict=dict1.update(dict2) 搜索:name =dict.get('name','找不到') 后面的为key不存在时返回,可空。 读对象:dict.items() 返回所有对象 读键: dict.keys() 返回所有键key 读值: dict.values() 返回所有值value 解包:name_key,age_key,addr_key= ('name':‘小明’,'age':25,'addr':‘上海’) 交换:x,y = y, x
读取字典的key和value: for key,value in dict.items(): print(key,value) |
添加:set.add('fish') 删除:set.remove('cat') 更新或合并:set1.update(set2) 清空:set.clear() 解包:name,age,addr= {‘小明’,25,‘上海’} 交换:x,y = y, x |
列表双重生成式:
[m+n for m in 'ABCD' for n in 'XYZ']
列表生成式:
list = [ e**2 for ele in range(1,11) ] --> [1,4,9,16,25,36,49,64,81,100]
生成器:
g = ( e**2 for ele in range(1,11) ) -> 生成器 , 使用next(g) ,一个一个输出
在函数中可以使用yield关键字实现生成器。