日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python(18)-字典dictionary、集合

發布時間:2023/12/13 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python(18)-字典dictionary、集合 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python高級數據類型-字典

  • 1.字典的定義
  • 2.字典的基本操作:查詢,增加,修改,獲取
  • 3.字典的統計、合并、清空
  • 4.字典的循環遍歷
  • 5.返回最大“值”對應的“鍵”
  • 6.應用場景
    • pop(key)
  • 7.集合

字典是除了列表之外最靈活的數據類型,用來描述一個物體的關鍵信息,比如描述一個人的特征,身高,體重,年齡,

1.字典的定義

字典: 用于存儲無序的數據類型,不關心數據保存的順序,用鍵來訪問保存的數據
列表: 用于存儲 有序 的數據類型,用索引訪問—有序

定義方式1–用{}+Key:value定義,鍵值對之間用逗號分隔。

#一個鍵值對占據一行,看起來比較清晰 xiaoming={"name": " xiaoming","age": 18,"gender": True,"height": 1.75,"weight": 65} print(xiaoming)

定義方式1–dict()+元組

items = [('height', 180), ("weigh", 124)] D = dict(items) D2 = {'height': 180,'weigh': 124} # 字典的遍歷

鍵用來獲取數據,最常用的鍵的類型是字符串,值用來保存數據,鍵應該是唯一的。

輸出: 輸出的順序和定義的順序一般不同,因為字典是一個無順序的數據類型

{‘gender’: True, ‘age’: 18, ‘name’: ’ xiaoming’, ‘weight’: 65, ‘height’: 1.75}

2.字典的基本操作:查詢,增加,修改,獲取

xiaoming_dict={“name”:“xiaoming”}

1.查詢:中括號+Key,指定的Key不存在時,程序會報錯(取值)

print (xiaoming_dict[“name”])

2.增加鍵值對,如果key存在會修改該值,如果不存在會新增一個鍵值對

xiaoming_dict[“age”]=18

3.修改變量值,格式增肌鍵值對相同

xiaoming_dict[“name”]=“xiaoxiaoming”

4.刪除指定鍵值對,key不對程序報錯

xiaoming_dict.pop(“name”)
print(xiaoming_dict)

刪除后輸出:{‘age’: 18}

5 獲取 鍵 對應的值,如果鍵不存在,則返回None,比第一種方法好用 (default用于指定鍵不存在時返回類型)

dict.get(key, default=None)

6.返回所有值

z={“a”:1, “b”:2}
print(z.values())
#輸出 [1, 2]

3.字典的統計、合并、清空

xiaoming_dict={“name”:“xiaoming”,“age”: 18}

1.統計鍵值對的數量,(輸出2)

print(len(xiaoming_dict))

2.合并字典

temp_dict={“height”: 1.75, “age”: 20}
xiaoming_dict.update(temp_dict)

輸出:{‘age’: 20, ‘name’: ‘xiaoming’, ‘height’: 1.75}

被合并的字典中已經包含存在的鍵值對,原有的會被覆蓋,如此例子中的name.

3.清空字典

xiaoming_dict.clear()
print(xiaoming_dict)

輸出:{}

4.字典的循環遍歷

xiaoming={"name": " xiaoming","qq": "123456","phone": "10086"} #變量K是每一次循環中獲取到的鍵值對的Key for k in xiaoming:print ("%s-%s"%(k,xiaoming[k]))

輸出:

qq-123456 phone-10086 name- xiaoming

5.返回最大“值”對應的“鍵”

counts={1: 1, 2: 1, 3: 1, 4: 2, 5: 4} max(counts.keys(), key=counts.get)

key=counts.get 中的key 是max的參數,
counts.keys()獲取的是字典的所有值,獲取最大值之后,用get 返回最大的的鍵?

6.應用場景

字典一般與列表一起使用,定義多個字典,放在同一個列表變量中,循環遍歷列表,在循環體中對每一個字典進行相同的處理。

card_list=[{"name": "zhangsan","qq": "12345","phone": "110"},{"name": "lisi","qq": "123457","phone": "10086"} ] for card_info in card_list:print(card_info)

輸出

{'qq': '12345', 'phone': '110', 'name': 'zhangsan'} {'qq': '123457', 'phone': '10086', 'name': 'lisi'}

pop(key)

彈出對應的值

dit={1:"r",2:"b"} print(dit.pop(1)) print (dit)

leetcode128:重復元素,hash表實現線性時間查詢

class Solution(object):def singleNumber(self, nums):""":type nums: List[int]:rtype: int"""li={}for val in nums:try:li.pop(val)except:li[val]=1return li.popitem()[0] # 彈出元素,鍵為需要的答案

7.集合

集合-不可變的無序集合,元素唯一,用大括號定義,支持集合的交和并操作

set1 = {1, 2, 3} set2 = set([2, 3, 4]) set3 = {1,1,2,3,5} # 實際set3 = {1,1,2,3,5} print(set1 - set2) # 集合求差,包含在x 但是不包含在y中的元素:{1} print(set1 | set2) # 集合求并:{1, 2, 3, 4} print(set1 & set2) # 集合求交:{2, 3} print(set1 ^ set2) # 集合求異或, 只被一個集合包含的元素 {1, 4} print(set1 > set2) # 包含關系,set1 真包含于set2,返回True :False

總結

以上是生活随笔為你收集整理的Python(18)-字典dictionary、集合的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。