当前位置:
首页 > temp > 简明python教程 >
-
python基础(9):基本数据类型四(set集合)、基础数据类型补充、深浅拷贝(2)
wusir', 's1': '⾦⽼板'}
# 删除key中带有'k'的元素
for k in dic:
if 'k' in k:
del dic[k] # dictionary changed size during iteration, 在循环迭代的时候不允许进⾏删除操作
print(dic)
那怎么办呢? 把要删除的元素暂时先保存在⼀个list中,然后循环list,再删除
- dic = {'k1': 'alex', 'k2': 'wusir', 's1': '⾦⽼板'}
- dic_del_list = []
- # 删除key中带有'k'的元素
- for k in dic:
- if 'k' in k:
- dic_del_list.append(k)
- for el in dic_del_list:
- del dic[el]
- print(dic)
类型转换:
元组 => 列表 list(tuple)
列表 => 元组 tuple(list)
list=>str str.join(list)
str=>list str.split()
转换成False的数据:
0,'',None,[],(),{},set() ==> False
回到顶部(go to top)
2. Set集合
2.1 set的介绍
set集合是python的⼀个基本数据类型,⼀般不是很常⽤。set中的元素是不重复的、⽆序的,⾥
⾯的元素必须是可hash的(int, str, tuple,bool)。我们可以这样来记,set就是dict类型的数据但
是不保存value,只保存key,set也⽤{}表⽰。
注意: set集合中的元素必须是可hash的,但是set本⾝是不可hash得,set是可变的。
- set1 = {'1','alex',2,True,[1,2,3]} # 报错
- set2 = {'1','alex',2,True,{1:2}} # 报错
- set3 = {'1','alex',2,True,(1,2,[2,3,4])} # 报错
set中的元素是不重复的,且⽆序的。
- s = {"周杰伦", "周杰伦", "周星星"}
- print(s)
- 结果:
- {'周星星', '周杰伦'}
使⽤这个特性.我们可以使⽤set来去掉重复
- # 给list去重复
- lst = [45, 5, "哈哈", 45, '哈哈', 50]
- lst = list(set(lst)) # 把list转换成set, 然后再转换回list
- print(lst)
2.2 set集合增删改查
2.2.1 增加
- s = {"刘嘉玲", '关之琳', "王祖贤"}
- s.add("郑裕玲")
- print(s)
- s.add("郑裕玲") # 重复的内容不会被添加到set集合中
- print(s)
- s = {"刘嘉玲", '关之琳', "王祖贤"}
- s.update("麻花藤") # 迭代更新
- print(s)
- s.update(["张曼⽟", "李若彤","李若彤"])
- print(s)
2.2.2 删除
- s = {"刘嘉玲", '关之琳', "王祖贤","张曼⽟", "李若彤"}
- item = s.pop() # 随机弹出⼀个.