python之列表與集合
阿新 • • 發佈:2020-08-07
Python 列表與集合
列表排序方法
-
sort()
:按字母順序排列 -
sort(reverse=True)
: 按字母順序反向排列 -
reverse()
: 反轉列表排列列表排序方法將直接改變原列表排列
L1.sort(), L1.sort(reverse=True), L1.reverse()
列表排序函式
-
sorted(list_obj)
-
sorted(list_obj, reverse=True)
-
reversed(list_obj)
可顯示排列順序或賦值給新列表,並不改變原列表排列順序
sorted(L1), sorted(L1, reverse=True), reversed(L1)
列表賦值
變數的賦值操作為引用的賦值
a = [1, 2, 3, 4]
b = a # 將a的引用賦值b
print(a, id(a), b, id(b))
>>> [1, 2, 3, 4] 140492488 [1, 2, 3, 4] 140492488
列表切片在賦值號右邊, 會產生原列表的拷貝,為淺拷貝,只進行第一層的複製
a = [1, 2, 3, 4]
b = a[2:]
print(a, id(a), b, id(b))
>>>[1, 2, 3, 4] 140416712 [3, 4] 140416904
x = ['a', 'b'] a = [1,x,3,4] b = a[:] b[1][0] = 'z' print(a, id(a), b, id(b)) >>> [1, ['z', 'b'], 3, 4] 140417992 [1, ['z', 'b'], 3, 4] 140310856
列表切片在賦值號左邊,且沒有指定起止索引,則會將複製號右邊的值替換左側列表全部內容而不會產生新的列表
a = [1, 2, 3, 4]
a[:] = ['a','b','c']
print(a)
>>>['a', 'b', 'c']
集合的主要作用是去重、計算交集,並集,差集,反交集
my_list = [1,1,1] my_list = list(set(my_list)) print('list轉set後去重複: my_list = ', my_list) my_set = {1,1,3} print(my_list) print(my_set,'\n') set1 = {1,2,3,4} set2 = {1,2,5,6} print('set1= ', set1) print('set2= ', set2, '\n') #差集 print('差集, set1-set2,set2-set1') print('set1-set2= ',set1-set2) print('set2-set1= ',set2-set1, '\n' ) #並集 print('並集, set1 | set2') print('set1 | set2= ', set1 | set2, '\n') #交集 print('交集, set1 & set2') print('set1 & set2= ', set1 & set2, '\n') #反交集 print('反交集, set1 ^ set2 除了交集外的元素,相當於並集-交集') print(set1 ^ set2)