Python 4個內建資料結構之字典

2021-10-11 07:24:15 字數 2889 閱讀 7066

字典:無序的鍵/值對集合

#字典是無序且可變的;可以把字典想象成乙個 兩列多行 的資料結構;與列表類似,可根據需要擴充套件(和收縮).

#字典資料是{}包裹的

#建立乙個字典,你如果直接(或在文字裡寫好)copy**是可以的,但如果想在python直譯器這直接寫的話,可能一回車就 ou 啦

>>

> person =

#檢視剛建立的字典(看到了嗎?儲存的時候是 無序 的哦)

>>

> person

#中括號記法查詢值 字典使用 鍵 來訪問其關聯的 資料值

>>

> person[

'name'

]'killen'

#執行時處理字典 新增資料

>>

> person[

'age']=

25>>

> person

乙個小問題:找出輸入單詞中的母音,並統計其出現的次數?

#這個可以儲存乙個vowels.py的文件來執行會比較好,因為我直接在python直譯器執行的時候沒成功

>>

> vowels =

['a'

,'e'

,'i'

,'o'

,'u'

] word =

input

("provide a word to search for vowels:"

)#此處輸入你的單詞

found =

#way one to see if letter exists in found, exists: +1; not exists:0

for letter in word:

if letter in vowels:

if letter not

in found:

found[letter]=0

found[letter]+=1

#way two ctrl+/ 可遮蔽**

# for letter in word:

# if letter in vowels:

# found.setdefault(letter, 0)

# found[letter] += 1

print

(found)

print

(sorted

(found)

)#有序輸出

print

(found)

#sorted(found)時,產生了乙個found的副本,並不影響found本身

>>

> provide a word to search for vowels:

'ministrator'

#'ministrator'是我輸入的單詞

['a'

,'i'

,'o'

]#是不是發現有序之後的資料跟沒排序的時候不一樣呢?排序的時候是按 列表 的形式輸出的 鍵,而沒有輸出 值

#在vowels.py裡追加**

>>

>

for k in

sorted

(found)

:print

(k ,

'was found'

, found[k]

,'time(s).'

)print()

for k, v in

sorted

(found.items())

:print

(k ,

'was found'

, v,

'time(s).'

)#追加**的顯示效果,按理說應該是 a was found 1 time(s),可能由於我的直譯器的原因,顯示跟你們可能會有細微差異,不過問題不大

('a'

,'was found',1

,'time(s).')(

'i',

'was found',2

,'time(s).')(

'o',

'was found',1

,'time(s).')(

)('a',

'was found',1

,'time(s).')(

'i',

'was found',2

,'time(s).')(

'o',

'was found',1

,'time(s).'

)#to see if letter exists in found, exists: +1; not exists:0

#found.setdefault(letter, 0)等價於

#if letter not in found:

# found[letter] = 0

#這兩個其實都是判斷found裡的 鍵 是否存在,比較常用,也有那種先初始化字典的,沒有判斷的,部分**:

>>

> found =

found[

'a']=0

found[

'e']=0

found[

'i']=0

found[

'o']=0

found[

'u']=0

for letter in word:

if letter in vowels:

found[letter]

= found[letter]+1

#簡單寫法 found[letter] += 1

#這種情況如果出現未被初始化的 鍵,就會報錯 keyerror

Python 的4個內建資料結構

python的4個內建資料結構分別是 list 列表 tuple 元組 dictionary 字典 set 集合 1.list 列表 用 標記,l index 用下標訪問列表中的某個值。列表中的資料是可以被修改的,可以是數值 字串或者是乙個列表。list ab 是將某個變數轉化成列表,結果為 a b...

python內建資料結構 Python內建資料結構

分類 數值型int float complex bool 序列物件 list string tuple 鍵值對set集合 dict字典 數值型int python3中的int都是長整型,沒有大小限制,但受限於記憶體區域的大小 float 浮點型,由整數部分和小數部分組成。complex 複數,由實數...

python內建資料結構

數列物件 鍵值對 型別轉換 built in int 取整數部分 整除且向下取整 min 取最小值 max 取最大值 pow x,y 等價於x y math.sqrt 開平方 進製函式,返回值是字串 math.pi math.e 自如常數 count value 時間複雜度 len 不產生新列表,就...