在python学习中,本人整理了一些简洁的列表、字典、元组、集合 的常用方法及属性,以及它们之间如何进行转换,希望对各位自学的同学有所帮助。 列表 list1 = [1,2,3,4,"我爱你",[10.20.30]] #(1) 列表的加法 与 乘法 list1 = [10,20,30] list2 = [5,6,7] list1+list2 # [10, 20, 30, 5, 6, 7] list * 3 # [10, 20, 30, 10, 20, 30, 10, 20, 30] #(2) append 用于向列表末尾添加元素 a = [1,2,3] a.append(4) # [1,2,3,4] #(3) insert 第一个参数是插入的位置,第二个参数是要插入的对象 b = [1,2,3] b.insert(2,[13,15]) # [1, 2, [13, 15], 3] #(4) clear 清空列表 #(5) remove 从列表移除元素 (若列表中有重复元素,remove函数只会移除匹配到的第一个) c= [1,2,3,1] c.remove(1) # [2, 3, 1] #(6) pop 用于移除列表中指定位置的元素,并返回要移除的元素,默认情况下,移除最后一位 c= [1,2,3,1] c.pop(1) # [1, 3, 1] # (7) index 返回所有匹配的元素的索引,第一个参数是等查找对象,第二个参数是先查找的开始范围,第三个参数是查找的结束范围。 c= [1,2,3,1] c.index(1) # 0 #(8) reverse 将列表反向排列 c= [1,2,3,1] c.reverse() # [1, 3, 2, 1] #(9) extend 在列表末尾添加另一个列表 # 与append 相比,extend可以一次性添加多个元素 # *** extend 与 + 都可以实现拼接列表,但是与+ 相比,extend是在源列表的基础上进行列表添加,+ 是两个列表组合,源数据不变 a = [10,20,30] a.extend([1,3,4,6]) # [10, 20, 30, 1, 3, 4, 6] #(10) copy 用于创建列表的副本 a = [10,20,30] b= a.cpoy() #(11) sort 排序 常见 ASCII 码 的大小规则,0~9
元组
元组中的元素不可修改,其他的方法和列表一样
集合
集合是无序的,元素是唯一的。
排列是随机的
创建集合 1.变量名=set(元素) 字符串/列表/元组/字典 a =set("123") a =set([1,2,3]) a =set((1,2,3)) 2. 变量名={元素,元素,…} 元组/字符串/数字 a = {"123",(1,2,3),3} # (1) add 添加 a=={1,2,3} a.add("你好") # {1, 2, 3, "你好"} # (2) update 可以将集合合并 b = {"w","a","d"} a.update(b) # {1, 2, 3, 6, "a", "d", "w"} # (3) remove pop discard # remove 删除集合中的元素,如果有直接删除,没有程序报错 # pop 随机删除程序中的元素,如果有直接删除,没有程序报错 # discard 删除集合中的元素,如果有直接删除,没有不做任何操作 # (4) 集合的交集并集 s1 = {1,2,3,5} s2 = {1,2,6,7} s1 & s2 交集 s1 | s2 并集
字典
字典的建必须是不可变类型,且不能重复
键可以是任意不可变类型(元组/字符串/数字)创建字典 a={ "姓名":"科比", "年龄":"18", 1:18, (1,2,3):"123 " } # 括号里面是元组,元组在用列表 b =dict((["年龄","18"],["名字":"kebi"]))# 字典 的增删改查 d= {"名字":"科比","年龄":18} #增加 d["技能"] = "python技能" # {"名字": "科比", "年龄": 18, "技能": "python技能"} #删除 del d["技能"] #修改 d["技能"] = "java技能" #查 d["技能"]
字典的方法d= {"名字":"科比","年龄":18} d.get("名字") # 科比 d.keys() # dict_keys(["名字", "年龄"]) 返回所有键 d.items() # 以列表的的形式返回字典中的所有键值对 dict_items([("名字", "科比"), ("年龄", 18)]) d.values() # 以列表的的形式返回字典中的所有值对 dict_values(["科比", 18]) d.clear() #清空字典 d.copy() #创建字典副本,修改原字典对象 不会影响副本 d.fromkeys(("年龄","性别"),1) # 用于创建一个新字典, 第一个参数是一个序列(列表/字典/集合),第二个参数是任何数据类型,作为每个键的值 # {"年龄": 1, "性别": 1} d.pop("名字") # 用于从字典中移除指定键,并返回该键所对应的值 d.popitem() # 函数用于从字典中杀出最后一项,并以元组的形式返回该项所有对应的键和值 ("年龄",18) d.setdefault("性别","男") # 设置键的默认值,若字典中该键已经存在,则忽略。 d.update() 将字典2的值更新到字典1 ,字典2的键在字典1 存在,则对字典1 进行修改,没有则添加
数据类型之间的转换 str() int() float() bool() # 1.容器类型转换bool : # 容器类型数据: 字符串,列表,元组,字典,集合 # 2. 非容器类型数据: 数字类型,布尔类型 # 容器中为空 ---》 False # 容器有元素 ---》 True # 2.数字类型转换bool : # int 类型中 0为false 其他为真 # float 类型中 0.0为false 其他为真 list() # 数字类型是非容器类型,不能转换为列表 # 字符串转列表时,会把字符串中的每一个字符当作列表的元素 # 字典转列表时,只保留字典中的键 # 集合转列表时,结果是无序的,因为集合本身就是无序的 tuple() 与list() 规则相同 set() # 1 数字类型是非容器类型,不能转换为集合 # 2 字符串、列表、元组转集合时,结果是无序的 # 3 字典转列表时,只保留字典中的键,结果是无序的 dict() # 1 数字类型是非容器类型,不能转换为集合 # 2 字符串不能转,因为字符串不能生成二级容器 # 3 列表类型转字典类型,列表必须为等长的二级容器,子容器中的元素个数必须为2集 # 4 集合不能转字典类型