python基礎(五)

neuyu發表於2021-09-09

1.集合

(1)集合

集合是一種可變的無序的容器.

(2)定義

x = {1,2,3} #第一種方法,使用{}
x = set([2,4,5]) #第二種方法,使用強制型別轉換

(3)特點

A.確定性

類似數學中的集合的確定性,集合描述得很清楚,不存在不能判斷一個元素是否在一個集合中,具體來說就是in或not in運算子不會得不到確定的結果.

B.無序性

因此不能透過下標訪問.
圖片描述
subscriptable就是可以透過下標訪問的.這裡提示"not subscriptable".

C.互異性

沒有重複元素.
圖片描述

D.支援集合運算

包括==,!=,判斷子集,真子集,超集,真超集,交集與並集,差集,對稱差分.
圖片描述

E.可變物件

可以透過add,remove改變集合本身.
圖片描述
另外有不可變集合frozenset:
圖片描述

2.字典

(1)字典

字典是一種可變的無序容器,每個值都有自己對應的鍵,是一個對映結構,本質上是一個以鍵為元素的集合.

(2)定義

使用{},鍵與值用:分隔,鍵值對用逗號分隔.

x = {'aa':1,'bb':2,'cc':3}

(3)特點

A.可以透過對應的key訪問對應的value

圖片描述

B.可變物件

圖片描述

(4)用作函式引數

def func(arg1,**arg2):
    print(arg1)
    print(arg2)
func('a',a=1,b=2,c=3,d=4)

圖片描述

3.迭代器

(1)迭代器

迭代器可以作為next()的引數被呼叫,不斷返回下一個值.

(2)可迭代物件

可以直接作用與迴圈語句的物件,對於for迴圈是in後的物件.判斷一個物件是否是可迭代物件可以利用isinstance()與Iterable.

from collections import Iterable
isinstance([1,2,3],Iterable)

圖片描述

(3)可迭代物件轉換為迭代器

使用iter():
圖片描述

4.生成器

(1)生成器

生成器是一個函式,不過相比起普通函式,返回的是迭代器.

(2)特點

生成器用的不是return,而是yield,另外生成器有惰性計算的特性,呼叫生成器時不會立即執行它,會在呼叫每個元素時才進行計算.

(3)使用

def gen():
    x = range(-1,8)
    for i in x:
        yield i+2
for x in gen():
    print(x,end = ' ')
print()

圖片描述

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4550/viewspace-2824640/,如需轉載,請註明出處,否則將追究法律責任。

相關文章