join,列表和字典用for循环的删除,集合,深浅拷贝
1.join()
將列表轉換成字符串,并且每個字符之間用另一個字符連接起來,join后面必須是可迭代的對象(字符串,列表,元組,字典,集合),數字不能迭代
例如:
1 s = ['a','b','c'] 2 s1 = '_'.join(s) 3 print(s1)結果為:a_b_c
?
2.字符串轉換成列表:split()
? ?列表轉換成字符串:join()
?
3.列表的刪除(pop,remove,del,clear)
如果用for循環刪除,第二個元素的索引就變成了第一個元素的索引,此時列表內部的索引在改變
例如:
1 lst = ['a','b','c','d'] 2 for i in lst: 3 lst.remove(i) 4 print(lst)結果為:['b','d']
此時需要創建一個新的列表來記錄原列表,然后for循環依次遍歷新列表,刪除原列表
例如:
1 lst = ['a','b','c','d'] 2 lst1 = [] #存放要刪除的元素 3 for i in lst: #循環新列表 4 lst1.append(i) #將原列表的元素添加到新列表中 5 for i in lst1: #循環新列表 6 lst.remove(i) #刪除原列表中的元素 7 print(lst) 8 print(lst1)此時結果為:[]
['a','b','c','d']
4.字典的刪除:
和列表一樣,都是先創建一個新的字典,然后循環原字典,將每個元素添加到新字典中,循環新字典,刪除原字典
例如:
dic = {'a':1,'b':2,'c':3,'d':4} dic1 = {} for i in dic:dic1.setdefault(i) for j in dic1:dic.pop(j) #字典只能通過key來刪除,而不能用索引刪除 print(dic)結果為:{}
所以,列表和字典在循環的時候不能刪除,字典在循環的時候不能改變大小
fromkeys():用來創建一個新的字典,和原來的字典沒關系,使用dict訪問fromkeys()
dic = dict.fromkeys('def',[4,5,6])
print(dic)
結果為:{'d':[4,5,6]'e':[4,5,6],'f':[4,5,6]}
?
5.set集合:
創建:??s = set()
集合本身是可變的數據類型,不可哈希,有增刪改查操作
集合中的元素是不可變的,不重復,可哈西,可以去重
將列表去重:
s = []
s1 = set(s) #把列表轉換成集合,進行去重復
s2 = list(s1)#把集合轉換成列表
?
6.深淺拷貝
import copy()
淺拷貝:lst = []
lst1 = lst[:]
lst1 = lst.copy()
不管改變lst還是lst1,另一個也會改變(共用同一個內存地址)
深拷貝:
lst = []
lst1 = copy.deepcopy(lst)? #創建了一個新的內存
不管改變lst還是lst1,另一個都不會改變
?
轉載于:https://www.cnblogs.com/s593941/p/9415545.html
總結
以上是生活随笔為你收集整理的join,列表和字典用for循环的删除,集合,深浅拷贝的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lava.lang.String数据转换
- 下一篇: 让tableView的高度等于conte