Python字典相關操作

2021-08-18 03:56:40 字數 1977 閱讀 7975

字典的特點:可變,無序,key不重複

dict()或d = {}

dict(**kwargs)

dict.fromkeys(iterable,value),可迭代物件的元素必須是乙個二元結構

類方法dict.fromkeys(iterable, value)

d[key] 返回key對應的值,key不存在時丟擲keyerror 異常

get(key,[,default]) 返回key對應的值,key 不存在時返回預設值,若未設定則返回none。

setdefault(key[,****ult]) 返回key對應的值,若不存在,則新增kv對

d[key] = value

將key對應的值修改為value

key不存在新增新的kv對

update([other]) -> none

使用另乙個字典的kv對更新本字典

key不存在,就新增

key存在,覆蓋已經存在的key對應的值

就地修改

pop(key[, default])

key存在,移除它,並返回它的value

key不存在,返回給定的default

default未設定,key不存在則丟擲keyerror異常

popitem()

移除並返回乙個任意的鍵值對

字典為empty,丟擲keyerror異常

clear()清空字典

for key_1 in dict

for item in dict.items():

d = dict(a=1, b=2, c='abc')

keys =

for k,v in d.items():

if isinstance(v, str):

for k in keys:

d.pop(k)

print(d)

1.使用者輸入乙個數字,

列印每一位數字及其重複的次數

dict1 = {}

user_num = input('<<<')

for i in user_num:

dict1.setdefault(i,0)

dict1[i] += 1

for i in dict1:

print(i,dict1[i])

2.數字重複統計:

隨機產生100個整數,

數字的範圍[-1000, 1000],

公升序輸出所有不同的數字及其重複的次數

import random

dict1 = {}

n = 100

p = 1000

for i in range(n):

m = random.randint(-p , p)

dict1.setdefault(m,0)

dict1[m] +=1

dict2 = sorted(dict1.items())

print('\n'.join(map(str,dict2)))

3.字串重複統計:

字元表'abcdefghijklmnopqrstuvwxyz',

隨機挑選2個字母組成字串,共挑選100個,

降序輸出所有不同的字串及重複的次數

import random

str1 = 'abcdefghijklmnopqrstuvwxyz'

dict1 ={}

for i in range(100):

str_choice = ''.join(random.sample(str1,2))

dict1.setdefault(str_choice,0)

dict1[str_choice] +=1

dict2 = sorted(dict1.items(),reverse=true)

print(dict2)

python 字典的相關操作

dict新增key和value dict.update 判斷字典中是否有key key in dict.keys 字典排序 1.sorted函式按key值對字典排序 先來基本介紹一下sorted函式,sorted iterable,key,reverse sorted一共有iterable,key,...

python操作字典 Python 字典操作高階

學習了 python 基本的字典操作後,學習這些高階操作,讓寫出的 更加優雅簡潔和 pythonic 與字典值有關的計算 問題想對字典的值進行相關計算,例如找出字典裡對應值最大 最小 的項。解決方案一 假設要從字典 中找出值最小的項,可以這樣做 d min zip d.values d.keys 2...

dictionary 字典相關操作

di 其中存在著鍵值對 dic dic k的存在形式必須是可雜湊的 意思為不可變 列表是不可雜湊的 是可變的 所以 k不能是裂變 因為沒法唯一確定 字典存在著 增刪改查 增加dic 壓縮 快樂風男 print dic dic.setfault a b 刪除 dil dic.pop k 通過k進行刪除...