python基礎(七) - 基本數據類型之散列類型


 

前言:python的基本數據類型可以分為三類:數值類型、序列類型、散列類型,本文主要介紹散列類型。

 

一、散列類型


散列類型:內部元素無序,不能通過下標取值

1)字典(dict):用 {} 花括號表示,每一個元素包含鍵(key)和值(value),key是一般是唯一的,如果重復最后的一個鍵值對會替換前面的,value不需要唯一。

2)集合(set):用 {} 花括號表示,存放一個個元素,可以是任意類型,但元素不允許重復。

注意:

d = {} 定義的是一個空字典

s = set() 定義的是一個空集合

 

二、字典dict


 1.定義

1)用 {} 花括號表示,每一個元素包含鍵(key)和值(value),key是一般是唯一的,如果重復最后的一個鍵值對會替換前面的,value不需要唯一。

2)value可以取任何數據類型,但key是不可變的,新增鍵值對后,key不可以修改,單value可以修改。

2.字典的常用方法

1)增

  • dic[key]=value 無則創建,若已有對應的key存在則修改該鍵值對的value
  • update():將一個字典的所有元素更新到另一個字典中 (簡單來說,就是添加多個元素)
# 字典 {key:value, key:value}   鍵/值對形式
# key是唯一的,是不可變類型數據
dic1 = {'name':'張三','age':18,'gender':''}
dic2 = {'a':11,'b':22}

dic1['city'] = '廣州'   # 新增鍵值對
print(dic1)

dic1['city'] = '上海'   # 根據key修改值
print(dic1)

# updata():添加多個鍵值對(將一個字典更新到一個字典中)
dic1.update(dic2)
print(dic1)
dic2.update({'c': 33, 'd': 44})
print(dic2)

2)刪

  • pop():參數為字典的鍵(key)
  • popitem() :刪除最后添加的鍵值對
  • clear():清空字典中的所有鍵值對
  • 關腱字del:del dic[key]
dic1 = {'name':'張三','age':18,'gender':'','city':'廣州'}

# pop():刪除,需要傳入一個鍵(key)
dic1.pop('gender')
print(dic1)

# popitem():不需要傳參,刪除字典中最后添加進來的一個鍵值對
dic1.popitem()
print(dic1)

# 關鍵字del
del dic1['age']
print(dic1)

# clear():清除字典中的所有鍵值對
dic1.clear()
print(dic1)

運行結果:

C:\software\python\python.exe D:/myworkspace/test/test/test.py
{'name': '張三', 'age': 18, 'city': '廣州'}
{'name': '張三', 'age': 18}
{'name': '張三'}
{}

Process finished with exit code 0

3)改

dic[key]=value  通過鍵去修改值,在第一點中已經舉出例子

4)查

  • get():獲取鍵對應的值,但key不存在時不會報惜,會打印None
  • keys():獲取所有的鍵,可以用list將結果轉成列表
  • values():獲取所有的值,可以用list將結果轉換成列表
  • itmes(): 獲取所有的鍵值對,可以用list將結果轉換成列表,列表中每個鍵值對組成一個元組
dic1 = {'name':'張三','age':18,'gender':''}

# get():獲取鍵對應的值
print(dic1.get('name'))
print('這是不存在的鍵值對:{}'.format(dic1.get('city')))

# keys():返回字典中所有的鍵
print(dic1.keys())

dic_key = dic1.keys()
print(list(dic_key))  # 通過list()把鍵以列表的形式輸出

# values():返回字典中所有的值
print(dic1.values())
dic_value = dic1.keys()
print(list(dic_value))  # 通過list()把鍵以列表的形式輸出

# items:返回字典中所有的鍵值對,每一個鍵值對都會打包成元組(key,value)
print(dic1.items())
dic_item = dic1.items()
print(list(dic_item))

運行結果:

C:\software\python\python.exe D:/myworkspace/test/test/test.py
張三
這是不存在的鍵值對:None
dict_keys(['name', 'age', 'gender'])
['name', 'age', 'gender']
dict_values(['張三', 18, ''])
['name', 'age', 'gender']
dict_items([('name', '張三'), ('age', 18), ('gender', '')])
[('name', '張三'), ('age', 18), ('gender', '')]

Process finished with exit code 0

 

三、集合set


 1.定義

集合是由不重復元素組成的無序的集,常用來消除重復元素

注意:要創建一個空集合只能用set(),不能用用{},因為后者創建的是一個空字典

2.集合的常用方法

集合的方法比較簡單,常用增加元素add,刪除元素pop()、remove()

set1 = {1, 'python', 'a', 2, 'a', 3, 4, 'python', 5, 6}
print(set1)  # 去掉重復的元素

li = [79, 1, 89, 3, 90, 5, 89, 321, 66, 7]
li = list(set(li))  # 利用set()轉換成集合去重
print(li)

dic = {}  # 表示空字典, 空集合用set()
set1 = set()
print(type(dic), type(set1))    # type()是python內置函數,用於查看數據類型

set1.add(1)
set1.add(2)
print(set1)
set1.pop()
print(set1)
set1.remove(2)
print(set1)

運行結果:

C:\software\python\python.exe D:/myworkspace/test/test/test.py
{1, 2, 3, 4, 5, 6, 'python', 'a'}
[1, 321, 3, 66, 5, 7, 79, 89, 90]
<class 'dict'> <class 'set'>
{1, 2}
{2}
set()

Process finished with exit code 0


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM