set集合,深浅copy

一基础数据类型补充:

1.jion,把列表转换成字符串

s=['多闻天王,增长天王,持国天王,广法天王']
s2=s.join('*')
print(s2)   #多闻天王*增长天王*持国天王*广法天王

2.列表list里的元素不能直接删除.适用于字典dict

原因:for的运行过程,会有一个指针来记录当前循环的元素是哪一个,一开始这个指针指向第0个,然后获取到第0个元素,紧接着删除第0个.这个时候,原来的第一个元素会自动的变成第0个,然后指针向后移动一次,指向1元素.这时原来的1已经变成了0,也就不会被删除了.

 1 li=[11,22,33,44]
 2 for i in range(0,len(li)):
 3      li.pop()# 循环len(li)次, 然后从后往前删除
 4 
 5 del_li=[]
 6 for el in li:
 7     del_li.append(el)
 8 for el in del_li:
 9     del li[el]
10 print(li)

  注意:由于删除元素会导致元素的索引改变,所以容易出现问题,尽量不要再循环中直接删除元素.可以把要删除的元素添加到另一个集合中然后再批量删除.

3.fromkeys()

   1.返回新字典.对原字典没有影响

   2.后面的value,是多个key共享一个value

dic = dict.fromkeys(["jay", "JJ"], ["周杰伦", "麻花藤"])
print(dic)
结果:
{'jay': ['周杰伦', '麻花藤'], 'JJ': ['周杰伦', '麻花藤']}

二,set集合

猜你喜欢

转载自www.cnblogs.com/982336352ryan/p/9416432.html