1.字典
1.1 创建
两种方法
d = {}d1 = dict()
1.2 删除
d = {"墨家":"天明", "项氏":"项羽", "测试":"test"}d2 = {"国产":"秦时明月", "日产":"名侦探柯南"}
删除指定key(删除指定键值对)
del d["测试"]
结果:
{'墨家': '天明', '项氏': '项羽'}
删除指定values
其实删除value实际意义上只是把其value数据更新为一个空值,或者为None
d["测试"]=None
结果:
{'墨家': '天明', '项氏': '项羽', '测试': None}
1.3 追加
d["道家"] = "子房"
结果:
{'墨家': '天明', '项氏': '项羽', '测试': 'test', '道家': '子房'}
1.4 修改
修改values
d["测试"]="哈哈"
结果:
{'墨家': '天明', '项氏': '项羽', '测试': '哈哈'}
修改key
其实是分为两个步骤:
先删除原有的键值对
再添加一个和之前的value一样的键值对
del d["测试"]d["嘻嘻"]="哈哈"
结果:
{'墨家': '天明', '项氏': '项羽', '嘻嘻': '哈哈'}
1.5 查
两种方法
d["墨家"]d.get("项氏")
两者区别,前者当该key不存在会报错,后者不存在不会报错
key、value交换
key_val = list(d.keys())val_v = list(d.values())for i, k in enumerate(key_val):d1[val_v[i]] = k
结果:
{'天明': '墨家', '项羽': '项氏', 'test': '测试'}
1.6 合并
将d2合并到d
d.update(d2)
结果:
{'墨家': '天明', '项氏': '项羽', '测试': 'test', '国产': '秦时明月', '日产': '名侦探柯南'}
1.7 判断某个数据是否存在字典keys
if "墨家" in d:print("哈哈,你查找的对象在家^^")else:print("很遗憾,他不在~")
结果:
哈哈,你查找的对象在家^^
1.8 判断某个数据是否存在字典values
key_list = list(d.values())
已知对应的key,key="道家"
if d.get("道家") in key_list:print("奴家,在的吆~~")else:print("你猜奴家在哪里?~")
不知对应key
if "项羽" in key_list:print("哈,你找到我了")else:print("咦,你没找到~")
2.列表
2.1 创建
两种方法:
l = []l1 = list()
2.2 删除
L = ["兔子", "毛熊", "白象", "白头鹰", "测试"]L1 = ["中国", "前苏联", "印度", "美国", "test"]
下标删除
L.pop(-1)del L[-2]
pop有返回值,返回被删掉元素,可以把它另存到新的地方,del没有返回值。
指定元素删除
L.remove("测试")
结果:
['兔子', '毛熊', '白象', '白头鹰']
2.3 增加
追加
L.append("脸盆鸡")L.extend(L1)L.extend(("老虎", "牛牛"))
append单个元素追加,extend多数据列表或者元组追加
结果1:
['兔子', '毛熊', '白象', '白头鹰', '测试', '脸盆鸡']
结果2:
['兔子', '毛熊', '白象', '白头鹰', '测试', '中国', '前苏联', '印度', '美国', 'test']
结果3:
['兔子', '毛熊', '白象', '白头鹰', '测试', '老虎', '牛牛']
中间任意位置添加
L.insert(-1, "大嘴鸭")
**结果:**
['兔子', '毛熊', '白象', '白头鹰', '大嘴鸭', '测试']
2.4 修改
特定位置修改
先删除该位置元素,再插入新的元素
del L[-1]L.insert(-1, "脸盆鸡")
结果:
['兔子', '毛熊', '白象', '脸盆鸡', '白头鹰']
特定元素修改
先获取该元素下标,再删除,再插入新的
i = L.index("测试")del L[L.index("测试")]L.insert(i, "脸盆鸡")
结果:
['兔子', '毛熊', '白象', '白头鹰', '脸盆鸡']
2.5 合并
L + L1
结果:
['兔子', '毛熊', '白象', '白头鹰', '测试', '中国', '前苏联', '印度', '美国', 'test']
2.6 检测元素存在
if '兔子' in L:print("亲,我在的~")else:print("亲,我又不在了~~")
3.元组
3.1 创建
t = ()t1 = tuple()
3.2 删除
元组只能整个删除
del t
3.3 增加
只能通过切片的方式
t[:1] + ("test",) + t[1:]
结果:
('朱迪', 'dd', '尼克', '闪电', '珍妮')
3.4 查
下标查
t[1]
循环查所有
for i in t:print(i)
3.5 合并
t + t1
结果:
('朱迪', '尼克', '闪电', '珍妮', '兔子警官', '战友', '树懒先生', '羊副市长')
3.6 检测元素是否存在
if "牛牛" in t:print("炸出你了")else:print("扎跑偏了")
4. 列表(两个以上列表)变字典格式
L = ["兔子", "毛熊", "白象", "白头鹰", "测试"]L1 = ["中国", "前苏联", "印度", "美国", "test"]dd = {k : v for k, v in zip(L, L1)}
结果:
{'兔子': '中国', '毛熊': '前苏联', '白象': '印度', '白头鹰': '美国', '测试': 'test'}
5.多数据元组变字典格式
t = ("朱迪", "尼克", "闪电", "珍妮")t1 = ("兔子警官", "战友", "树懒先生", "羊副市长")dd = {k : v for k, v in zip(t, t1)}
结果:
{'朱迪': '兔子警官', '尼克': '战友', '闪电': '树懒先生', '珍妮': '羊副市长'}