set集合,深浅copy
Posted 982336352ryan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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集合
以上是关于set集合,深浅copy的主要内容,如果未能解决你的问题,请参考以下文章