成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

九個必須知道的Python字典騷操作

開發
字典,python數據結構中的大殺器,是另一種可變容器模型,且可存儲任意類型對象。字典是 除列表以外 Python 之中 最靈活 的數據類型。字典可以用來 存儲多個數據。通常用于存儲描述一個物體的相關信息。

字典,python數據結構中的大殺器,是另一種可變容器模型,且可存儲任意類型對象。字典是 除列表以外 Python 之中 最靈活 的數據類型。字典可以用來 存儲多個數據。通常用于存儲描述一個物體的相關信息。

下面分享9個實用的字典操作,歡迎大家點贊、收藏、支持!

1. 鍵是否存在

d = {"name": "Tony", "age":100}
key = "phone"
if key in d:
    print("Key exists")
else:
    print("Not exists")
# Key exists

值得注意的是:不要用 key in d.keys()。這是一個多余的操作,因為 d.keys() 會返回一個新的列表對象,導致使用內存變大。

2. 合并字典

# example 1
d1 = {'a': 1, 'b': 2}
d2 = {'b': 3, 'c': 4}
d = {**d1, **d2}
print(d) # {'a': 1, 'b': 3, 'c': 4}
print(d1) # {'a': 1, 'b': 2}
print(d2) # {'b': 3, 'c': 4}

# example 2
d1 = {'a': 1, 'b': 2}
d2 = {'b': 3, 'c': 4}
d2.update(d1)
print(d1) # {'a': 1, 'b': 2}
print(d2) # {'a': 1, 'b': 2, 'c': 4}

值得注意的是:第一個例子,d1 和 d2 不會被修改,并且相同的key不會被重新賦值。第二個例子,d2 被 d1更新,相同的key會被重新賦值。

3. 遍歷字典

# method 1
d = {'c': 3, 'd': 4, 'a': 1, 'b': 2}
for key, value in d.items():
    print(key, value) # c 3 d 4 a 1 b 2

# method 2
d = {'c': 3, 'd': 4, 'a': 1, 'b': 2}
for key in d:
    print(key, d[key]) # c 3 d 4 a 1 b 2

方法一中 d.items() 需要返回一個額外的 dict_items 對象。

4. 字典推導式

fruits = ['apple', 'mango', 'banana','cherry']
d = {f:len(f) for f in fruits} # 類似于列表推導式
print(d) # {'apple': 5, 'mango': 5, 'banana': 6, 'cherry': 6}

5. 字典排序

字典本質上是一個無序的容器對象(從Python 3.6開始支持順序,但是這個順序是指key添加的順序)。我們可以使用 lambda 函數作為排序鍵按鍵或值對字典進行排序。

d = {"c": 3, "a": 1, "f":6, "b": 0}
# 按key排序
sorted(d.items(), key=lambda x:x[0]) # [('a', 1), ('b', 0), ('c', 3), ('f', 6)]
# 按value排序
sorted(d.items(), key=lambda x:x[1]) # [('c', 3), ('f', 6), ('b', 0), ('a', 1)]

6. 用字典計數

# method 1
chars = ['a', 'b','c','a','d','c']
d = {}
for c in chars:
    d[c] = d.get(c, 0) + 1
print(d) # {'a': 2, 'b': 1, 'c': 2, 'd': 1}

# method 2
import collections
chars = ['a', 'b','c','a','d','c']
d = collections.Counter(chars)
print(d) # Counter({'a': 2, 'b': 1, 'c': 2, 'd': 1})

7. 刪除字典中的鍵值對

d = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'}
# 刪除指定的鍵值對
del d['ob1']
print(d) # {'ob2': 'mouse', 'ob3': 'printer'}
# 刪除所有的鍵值對
d.clear()
print(d) # {}

8. 同長度的2個list轉換為字典

stocks = ['reliance', 'infosys', 'tcs'] 
prices = [2175, 1127, 2750] 
d = dict(zip(stocks, prices))
print(d) # {'reliance': 2175, 'infosys': 1127, 'tcs': 2750}

9. 字典的復制

# 淺復制
d = {'a': 1, 'b': 2}
x = d # 只是引用 ?? 改變x也會改變d!
x.update({'c': 3})
print(x) # {'a': 1, 'b': 2, 'c': 3}
print(d) # {'a': 1, 'b': 2, 'c': 3}
x.clear()
print(x) # {}
print(d) # ()

# 深復制
d = {'a': 1, 'b': 2}
x = d.copy() #復制了一份,改變x不會改變d
x.update({'c': 3})
print(x) # {'a': 1, 'b': 2, 'c': 3}
print(d) # {'a': 1, 'b': 2}
x.clear()
print(x) # {}
print(d) # {'a': 1, 'b': 2}

小節

上面分享的9個python字典操作,希望對你有所幫助!

責任編輯:華軒 來源: 哈希編程
相關推薦

2018-04-08 10:08:43

開發人員工具

2020-10-13 09:28:51

vue開發

2021-07-29 08:13:05

高并發秒殺商品秒殺系統

2017-10-17 15:18:58

綜合布線網絡

2019-01-08 10:29:12

BeautifulSoPython第三庫

2015-07-23 10:37:13

Linux命令

2021-09-15 09:20:37

Python函數代碼

2020-03-19 15:30:08

JavaScript數組字符串

2011-05-11 15:28:05

2023-12-27 18:10:05

PyTorch工具框架

2015-04-15 10:50:06

綜合布線

2022-06-08 10:42:34

ReduceJavaScript技巧

2015-10-29 13:06:44

Visual Stud快捷鍵

2009-04-17 09:50:49

軟件架構云計算SOA

2009-06-04 10:20:34

Hibernate持久化Java

2010-04-12 14:58:56

Meego開發

2017-12-07 15:47:25

2020-02-28 14:05:00

Linuxshell命令

2020-12-29 09:50:23

大數據大數據技術

2017-12-07 15:28:36

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩欧美国产一区二区 | 欧美午夜一区二区三区免费大片 | 日批的视频 | 精品视频在线观看 | 亚洲在线一区 | 国产欧美在线播放 | 日本人爽p大片免费看 | 看a网站 | 国产精久久久久久久 | 亚洲高清视频在线观看 | 国产精品九九视频 | 亚洲www啪成人一区二区麻豆 | 久久久久国产精品午夜一区 | 羞视频在线观看 | 一级一级毛片免费看 | 99伊人网| 三级视频久久 | 国产成人精品免费视频大全最热 | 国产精品欧美一区二区三区不卡 | 国产免费一区二区 | 久久久91精品国产一区二区三区 | 在线视频日韩精品 | 国产精品久久久久久久久久免费看 | 一区日韩| 国产小视频在线 | 亚洲一区二区在线视频 | 97精品一区二区 | 亚洲 欧美 日韩 精品 | 在线一区| 九九九国产| 久久国产精品视频 | 国产又色又爽又黄又免费 | 日韩一区二区三区在线观看视频 | 天天av网| www久久久| 日本三级电影免费 | 成人午夜 | 不卡在线视频 | 亚洲精选一区 | 黑人巨大精品 | www.日日操 |