生活随笔
收集整理的這篇文章主要介紹了
Python 学习4-集合、序列
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
六、集合
集合與字典類似,但是只有鍵沒有值,鍵為不可變類型,即可以哈希 (1)集合的創建
先創建對象,在向里頭添加元素,空集合(Eg:s=set()),同樣不可以添加表
basket
= set ( )
basket
. add
( 'das' )
basket
. add
( 123 )
basket
. add
( ( 231 , 235 , 423 ) )
print ( basket
)
類似字典直接用大括號{},重復元素會自動被過濾
basket
= { 'dasda' , ( 'das' , 321 ) , 134 }
print ( basket
)
直接使用工廠函數set(value),把列表和元組轉換成集合,不可以是數字,想要完整的錄入一個字符串,要用[’ ']或者" ",單引號會錄入組成的各個字母
basket1
= set ( 'dsaasag' )
print ( basket1
)
basket2
= set ( ( 'dasd' , 432 ) )
print ( basket2
)
basket3
= set ( [ 'gsf' , 64 ] )
print ( basket3
)
basket4
= set ( 1231 )
print ( basket4
)
從列表中去掉相同元素
lst
= [ 0 , 1 , 2 , 3 , 4 , 5 , 5 , 3 , 1 ] temp
= [ ]
for item
in lst
: if item
not in temp
: temp
. append
( item
) print ( temp
) a
= set ( lst
)
print ( list ( a
) )
集合是無序且唯一的,所以對集合不能創建索引和進行切片操作,也沒有鍵來獲取值,但是可以判斷一個元素是否在集合中 (2)集合的訪問
len 看數組的大小
basket
= set ( ( 'fs' , 321 ) )
print ( basket
)
print ( len ( basket
) )
for 遍歷集合
basket
= { 4532 , 'dsfda' , ( 'dasg' , 798 ) }
for item
in basket
:
print ( item
)
in & not in 看元素是否存在集合中
basket
= { 4532 , 'dsfda' , ( 'dasg' , 798 ) }
print ( 'das' in basket
)
print ( 'das' not in basket
)
print ( 4532 in basket
)
print ( 4532 not in basket
)
(3)集合的內置
set.add set.add()向集合中添加元素
basket
= { 231 , 'fsdj' }
basket
. add
( ( 4322 , 'gdfg' ) )
print ( basket
)
set.update set.update()向集合里添加新元素或集合,重復的會忽略
basket
= set ( [ 1234 , 546 , 'uhy' ] )
print ( basket
)
basket
. update
( "gfdhjk" )
print ( basket
)
basket
. update
( [ 'gfdhjk' ] )
print ( basket
)
set.remove set.remove(item)移除集合中的指定的元素,如果沒有這個元素,會有錯誤
basket
= { "fsdf" , 563 }
print ( basket
)
basket
. remove
( 563 )
print ( basket
)
basket
. remove
( 'dsfs' )
print ( basket
)
set.discard set.discard(value)也是用于移除集合中的指定元素,就算沒有這個元素,也不會報錯
basket
= { 32131 , 'gfdj' }
print ( basket
)
basket
. discard
( 32131 )
print ( basket
)
basket
. discard
( 'fhsjk' )
print ( basket
)
set.pop set.pop()隨機移除一個元素
basket
= { 'sdada' , 43 }
print ( bakset
)
basket
. pop
( )
print ( basket
)
set.intersection basket1.intersection(basket2)返回兩個集合的交集 basket1&bakset2 返回兩個集合的交集 set.intersection_update basket1.set.intersection_update(basket2) 在basket1集合上移除不一樣的,剩下一樣的,也就是交集,沒有返回值
basket1
= set ( 'dsdahtrj' )
basket2
= set ( 'dfhaooif' )
print ( basket1
)
print ( basket2
)
a
= basket1
. intersection
( basket2
)
print ( a
)
print ( basket1
& basket2
)
basket1
. intersection_update
( basket2
)
print ( basket1
)
set.union basket1.union(basket2)返回2個集合的并集 basket1 | basket2 返回2個集合的并集
basket1
= set ( 'dsdahtrj' )
basket2
= set ( 'dfhaooif' )
print ( basket1
)
print ( basket2
)
print ( basket1
. union
( basket2
) )
print ( basket1
| basket2
)
set.difference basket1.difference(basket2)返回2個集合的差集 basket1 - basket2 返回2個集合的差集 **basket1.difference_update(basket2)**在basket1集合中移除一樣的,沒有返回值
basket1
= set ( 'dsdahtrj' )
basket2
= set ( 'dfhaooif' )
print ( basket1
)
print ( basket2
)
print ( basket1
. difference
( basket2
) )
print ( basket1
- basket2
)
basket1
. difference_update
( basket2
)
print ( basket1
)
set.symmetric_difference basket1.symmetric_difference(basket2)返回2個集合的異或(并集減去交集) basket1^basket2 返回2個集合的異或 **basket1.symmetric_difference_update(basket2)**在basket1集合中顯示異或
basket1
= set ( 'dsdahtrj' )
basket2
= set ( 'dfhaooif' )
print ( basket1
)
print ( basket2
)
print ( basket1
. symmetric_difference
( basket2
) )
print ( basket1
^ basket2
)
basket1
. symmetric_difference_update
( basket2
)
print ( basket1
)
set.issubset basket1.issubset(basket2)看basket1是否被 basket2包含 ,是就返回True,不是就返回False basket1<=basket2 和 set.issubset 一樣
basket1
= { 'dsada' , 58967 }
basket2
= { 'dsada' }
print ( basket1
. issubset
( basket2
) )
print ( basket2
. issubset
( basket1
) )
print ( basket1
<= basket2
)
set.issuperset basket1.issuperset(basket2)看basket1是不是包含 basket2,是就返回True,不是就返回False basket1>=basket2和set.issuperset一樣
basket1
= { 'dsada' , 58967 }
basket2
= { 'dsada' }
print ( basket1
. issuperset
( basket2
) )
print ( basket2
. issuperset
( basket1
) )
print ( basket1
>= basket2
)
set.isdisjoint(set) basket1.isdisjoint(basket2)判斷是不是不相交,是就返回True,不是就返回False
basket1
= set ( 'hfdgjkdgjkh' )
basket2
= set ( 'lkjgsdf' )
basket3
= set ( 'dgj' )
print ( basket1
)
print ( basket2
)
print ( basket2
)
print ( basket1
. isdisjoint
( basket2
) )
(4)集合的轉換
se
= set ( range ( 4 ) )
li
= list ( se
)
tu
= tuple ( se
) print ( se
, type ( se
) )
print ( li
, type ( li
) )
print ( tu
, type ( tu
) )
(5)不可變集合 frozenset frozenset返回一個凍結的集合,不可以被刪除和添加任何元素
a
= frozenset ( range ( 10 ) )
print ( a
)
b
= frozenset ( 'lsgogroup' )
print ( b
)
print ( b
)
六、序列
序列包括字符串、列表、元組、字典、集合,他們支持一些通用的操作、字典和集合不支持索引、切片、相加、相乘
針對序列的內置函數 可迭代對象 :比如:list,字符串,dict,元組,生成器(生成特殊值的函數)等 **list()**把可迭代對象轉換成列表 **tuple()**把可迭代對象轉換成元組 **str()**把對象轉換成字符串
a
= [ 132 , 'fgd' ]
print ( a
, type ( a
) )
a1
= tuple ( a
)
print ( a1
, type ( a1
) )
a2
= str ( a
)
print ( a2
, type ( a2
) ) b
= ( 123 , 'gsfhj' )
print ( b
, type ( b
) )
b1
= list ( b
)
print ( b1
, type ( b1
) )
b2
= str ( b
)
print ( b2
, type ( b2
) ) c
= 'dsaad'
print ( c
, type ( c
) )
d
= { 'gfs' : 'fdsh' , 43 : 7 }
print ( d
, type ( d
) )
e
= { 'skhjgf' , 657 }
print ( e
, type ( e
) )
len 返回對象的長度或元素個數
a
= list ( )
print ( len ( a
) ) b
= ( 'I' , ' ' , 'L' , 'o' , 'v' , 'e' , ' ' , 'L' , 's' , 'g' , 'o' , 'G' , 'r' , 'o' , 'u' , 'p' )
print ( len ( b
) ) c
= 'I Love LsgoGroup'
print ( len ( c
) )
max 返回序列或參數集合中的最大值
print ( max ( 1 , 2 , 3 , 4 , 5 ) )
print ( max ( [ - 8 , 99 , 3 , 7 , 83 ] ) )
print ( max ( 'IloveLsgoGroup' ) )
min 返回序列或參數集合中的最小值
print ( min ( 1 , 2 , 3 , 4 , 5 ) )
print ( min ( [ - 8 , 99 , 3 , 7 , 83 ] ) )
print ( min ( 'IloveLsgoGroup' ) )
sum 返回序列與可選參數的總和
print ( sum ( [ 1 , 3 , 5 , 7 , 9 ] ) )
print ( sum ( [ 1 , 3 , 5 , 7 , 9 ] , 10 ) )
print ( sum ( ( 1 , 3 , 5 , 7 , 9 ) ) )
print ( sum ( ( 1 , 3 , 5 , 7 , 9 ) , 20 ) )
print ( sum ( 'fsfs' , 1 ) )
sorted 排序 sorted(’ ‘,key,reverse)’ ‘是可迭代對象,key是主要用來比較的對象 reverse排序規則True降序False升序(默認) lambda是一個模擬函數 后邊的是函數本題中就是返回b["name’]
a
= ( 5641 , 1984 , 56497 , 56456 )
print ( sorted ( a
) )
print ( sorted ( a
, reverse
= True ) )
b
= ( { "age" : 20 , "name" : "a" } , { "age" : 25 , "name" : "b" } , { "age" : 10 , "name" : "c" } )
print ( sorted ( b
, key
= lambda b
: b
[ "name" ] , reverse
= True ) )
reversed 反轉,可以反轉元組,字符串,列表,range
a
= { 4234 , 'sgf' }
print ( a
, type ( a
) )
a1
= reversed ( a
)
print ( a1
, type ( a1
) ) b
= ( 321 , 57 , 987 )
print ( b
, type ( b
) )
b1
= reversed ( b
)
print ( b1
, type ( b1
) )
enumrate enumrate(數據對象,編號)
seasons
= [ 'Spring' , 'Summer' , 'Fall' , 'Winter' ]
a
= list ( enumerate ( seasons
) )
print ( a
)
b
= list ( enumerate ( seasons
, 1 ) )
print ( b
)
zip zip(a,b)將a,b打包成一個元組,返回這些元組組成的對象,這么做好處是可以節約空間,可以用list()來輸出列表,一一對應的
a
= ( 312 , 'fgjf' )
b
= [ 'fjfgh' , 57 ]
c
= zip ( a
, b
)
print ( c
)
print ( list ( c
) )
print ( tuple ( c
) )
d
= ( 543 , 'hfgj' , 675 )
e
= zip ( a
, d
)
print ( list ( e
) )
總結
以上是生活随笔 為你收集整理的Python 学习4-集合、序列 的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔 網站內容還不錯,歡迎將生活随笔 推薦給好友。