str轉換成list 用split
list轉換成str 用join
tuple轉換成list
tu1 = (1,2,3)
li = list(tu1)(強轉)
tu2 = tuple(li)(強轉)
dic轉換成list
c2 = list(dic)
各種資料型別轉換成bool
0,'',,(),{}, set() 轉成bool都是fasle
在迴圈列表或者字典刪除元素的過程中,有可能會影響結果,有可能會報錯。
報錯資訊如下:
runtimeerror: dictionary changed size during iteration
解釋:執行時錯誤:字典在迭代期間更改了大小。
集合
set2 = set去重print(set2)
l1 = [11, 11, 22, 22, 33, 33, 33, 44] 列表去重l2 = list(set(l1))
l2.sort()
print(l2)
增(add,update)
set1 = 按元素增加(不能切片,不能索引,不能不長)set1.add(
'zhangyajie')
print(set1)
set1 = 迭代新增set1.update(['asd'])
print(set1)
刪(pop,remove,clear,del)
set1 =print(set1.pop()) #隨機刪除
set1.remove('alex') #按元素刪除print(set1)
set1.clear() #清空列表print(set1)
del set1 #刪除列表print(set1)
查(for)
set1 =li =
for i in
set1:
if i.startswith('
a') or i.endswith('x'
):
print(li)
交集(intersetion 和 &)
set1 =set2 =
set3 = set1 &set2
print(set3)
print(set1.intersection(set2))
並集 | 和 union
print(set1 |set2)print(set1.union(set2))
差集 difference -
set1 =set2 =
print(set1.difference(set2)) #
set1 獨有
print(set2.difference(set1)) #
set2 獨有
print(set1 - set2) #set1獨有的print(set2 - set1) #set2獨有的
反差集 ^ 和 symmetric_difference
print(set1 ^set2)print(set1.symmetric_difference(set2))
子集
set1 =set2 =
print(set1 > set2) #
set1是set2的子集
超集
set1 =set2 =
print(set2.issuperset(set1))
凍結 set
set1 = frozenset()print(set1,type(set1))
對於賦值運算來說,指向的都是同乙個記憶體位址,一變都變。
l1 = [1, 2, 3]l2 =l1
l3 =l2
(id(l1))
(id(l2))
(id(l3))
(l3)
(l2)
print(l1)
深淺copy
淺copy
對於淺copy來說,第一層記憶體位址是建立新的記憶體位址(意思就是兩個記憶體位址不一樣),第二層開始,共用同乙個記憶體位址,所以對於第3,4,5,6曾之後,共用的都是同乙個記憶體位址。
l1 = [11,22,33]
l2 =l1.copy()
(id(l1))
(id(l2))
(l1)
print(l2)
li = [11, 22, ['barry',[222]]]l1 = li.copy()
print(id(li))
print(id(l1))
print(id(li[-1]))
print(id(l1[-1]))
深copy
l1 = [11, 22, 33]l2 =copy.deepcopy(l1)
(l1, id(l1))
(l2, id(l2))
結果:[11, 22, 33, 666] 233294746056[11, 22, 33] 233294657800
資料型別 集合set
一 1 用途 1 去重 2 關係運算 注 集合的目的是將不同的值存放到一起,不同的集合間用來做關係運算,無需糾結於集合中單個值 2 定義方式 在 內用逗號分割開多個元素,其中元素的特點為 1 所有的元素必須是不可變型別 2 集合內元素不能重複 3 集合內元素無序s s set print s 自動去...
基本資料型別補充,set集合,深淺拷貝等
ll wang jian wei 可以通過這個方式將列表變成字串 ll1 join ll print ll1 wangjianwei 問題 將列表中姓 周 的刪除,lis 周杰倫 周潤發 周樹人 馬化騰 看到這個問題首先第一反應就是for迴圈做判斷,然後remove,然後並非如此.lis 周杰倫 周...
7 python資料型別之集合set
資料型別之集合set set 不允許重複的無序集合,不能通過下標取值,因為無序 1 建立 建立空集合 s 預設型別為字典,所以不是空集合,空集合如下 s set s 字典是有鍵值對,集合沒有 s set 括號內可以接收可以迭代的元素,str list tuple dict 2 轉換 s 11,123...