一、元组(tuple)
Python 的元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号,列表使用方括号。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
1.1 元组的创建
tup1 = () # 创建一个空元组 print(type(tup1)) tup2 = (2) # 创建一个只有一个元素的元组时,需要在元素后添加逗号,否则python认为是int类型 print(tup2) print(type(tup2)) tup3 = (2,) print(tup3) print(type(tup3)) # 元组 tup4 = 1, 2, 3 # 任意无符号的对象,以逗号隔开,默认为元组 print(type(tup4))
1.2 访问和修改元组
tup1 = ("com", "carry", 12, 0) print(tup1[1]) # 访问第二个元素 print(tup1[:2]) # 从第一个元素截取到第二个元素 print(tup1[1:3]) # 从第2个元素截取到第3个元素 print(tup1[1:]) # 从第一个元素开始截取到最后
# 元组中的元素值不可以修改,但是我们可以对元组进行连接组合 tup1 = (1,2,"Jack") tup2 = ("marry",232) tup3 = tup1+tup2 print(tup3) # 元组连接 # 元组中的元素不允许删除 tup4 = ("work",233) print(tup4) del tup4 # print(tup4) # 报错
1.3 内置函数
二、字典(dict)
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 key:value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中,类似于JSON
2.1 字典的创建
dict1 = {"name": "xiaoguo", "pwd": 123} print(dict1) print(type(dict1))
2.2 访问和修改字典
# 1.访问字典dict的值 print(dict1.get("name")) # 通过get()方法,如果没有这个键,返回None print(dict1["name"]) # 通过[键],如果没有这个键,就会报错 # 向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对 # 2.修改字典 dict1["name"] = "XiaoGuo" # 修改 dict1["id"] = 1 # 当键不存在时赋值,就是添加 print(dict1) # 4.删除字典元素 del dict1["id"] #删除id print(dict1) dict1.clear() # 清空所有键值对,使字典变成空 print(dict1) del dict1 # 删除字典 # print(dict1) 报错
2.3 字典键的特性
(1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,仅后一个值会被记住。
(2)键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行。
dict2 = {"name": 123, "name": 321} print(dict2["name"]) # 只会记住后面的值 # 字典的键必须是不可变的,可以是数字,字符串,元组,但是不能是字典 dict3 = {1: 1, "name": "xiaoguo", (1,): 3} print(dict3[(1,)])
2.4 函数与方法
print("字典是:%s"%str(dict3))
dict1 = {"name": "xiaoguo", "pwd": 123} dict2 = {"name": "xiaoguo", "pwd": 123} # 1.clear print("clear之前:%s" % str(dict1)) dict1.clear() print("clear之后:%s" % str(dict1)) # 2. copy() dict2_1 = dict2.copy() print("copy自dict2:%s" % str(dict2_1)) # 3.fromkeys print("不设置val,默认值为None:%s" % (dict.fromkeys(dict2))) print("设置val,默认值为10:%s" % (dict.fromkeys(dict2, 10))) # 4.get() print(dict2.get("names")) # 如果字典中没有这个键,返回None # 5.has_key->python3中这个方法被contains替代 print(dict2.__contains__("name")) # 6.items() items() 方法把字典中每对 key 和 value 组成一个元组,并把这些元组放在列表中返回 print(dict2.items()) for key, value in dict2.items(): print("key:%s,value:%s" % (key, value))
dict1 = {"na":1,"nb":2} dict2 = {"nc":3} # 7.keys() print("所有键:%s"%str(dict1.keys())) # 8.setdefault # 设置为None,不是default print("设置键:%s"%str(dict1.setdefault("names"))) print(dict1) # 9.update # 添加/修改 dict1.update(dict2) print("添加键值:%s"%str(dict1)) # 10.values print("所有值:%s"%str(dict1.values())) # 11. pop() print(dict1.pop("na")) # 12.popitem() print(dict1.popitem()) print(dict1)