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