python基礎-19字典類型內置方法

字典類型內置方法(dict)

  • 1.用途:存多個值,但每個值都有一個key與之對應,key對值有描述功能。多用於存的值表示的是不一樣的狀態時,例如存的值有姓名、年齡、身高、體重、愛好。

*2.定義:{}內用逗號分隔開多個元素,每個元素都是key:value的形式,value能夠是任意數據類型,而key一般應該是字符串類型,可是key必須爲不可變類型。python

dic = {'a': 1, 'b': 2}  # dic = dict({'a':1,'b':2})

print(f"dic: {dic}")

dic: {'a': 1, 'b': 2}算法

dic = dict(a=1, b=2, c=3)

print(f"dic: {dic}")

dic: {'a': 1, 'b': 2, 'c': 3}優化

dic = {1: 'a', 0: 'b'}

print(f"dic[0]: {dic[0]}")  # 沒法區分dic是列表,仍是字典,而且key再也不具備描述信息

dic[0]: bcode

dic = {[1,2]: 'a', 0: 'b'}  # 報錯
  • 3.經常使用操做+內置方法:經常使用操做和內置方法分爲優先掌握(今天必須得記住)、須要掌握(一週內記住)兩個部分。

優先掌握(*****)

 1.按key存取值:可存可取
 2.長度len
 3.成員運算in和not in
 4.刪除del
 5.鍵keys()、值values()、鍵值對items()
 6.循環
1.按key存取值:可存可取字符串

# dic之按key存取值
dic = {'a': 1, 'b': 2}

print(f"first dic['a']: {dic['a']}")

dic['a'] = 3

print(f"second dic['a']: {dic['a']}")

first dic['a']: 1 second dic['a']: 3
2.長度lenget

# dic之長度len
dic = {'a': 1, 'b': 2}

print(f"len(dic): {len(dic)}")

len(dic): 2
3.成員運算in和not init

# dic之成員運算in和not in
dic = {'a': 1, 'b': 2}

print(f"'a' in dic: {'a' in dic}")
print(f"1 in dic: {1 in dic}")

'a' in dic: True 1 in dic: False
4.刪除class

# dic之刪除del
dic = {'a': 1, 'b': 2}
del dic['a']

print(f"dic.get('a'): {dic.get('a')}")

dic.get('a'): Nonedate

# dic之刪除pop()
dic = {'a': 1, 'b': 2}
dic.pop('a')  # 指定元素刪除

print(f"dic.pop('b'): {dic.pop('b')}")
print(f"dic.get('a'): {dic.get('a')}")

dic.pop('b'): 2 dic.get('a'): None循環

# dic之刪除popitem()
dic = {'a': 1, 'b': 2}

print(f"dic.popitem(): {dic.popitem()}")  # 隨機刪除一個元素,沒法指定

dic.popitem(): ('b', 2)
5.鍵keys()、值values()、鍵值對items()

# dic之鍵keys()、值values()、鍵值對items(),python2中取出的是列表(雞蛋);python3中取出的是元組(雞)
dic = {'a': 1, 'b': 2}

print(f"dic.keys(): {dic.keys()}")
print(f"dic.values(): {dic.values()}")
print(f"dic.items(): {dic.items()}")

dic.keys(): dict_keys(['a', 'b']) dic.values(): dict_values([1, 2]) dic.items(): dict_items([('a', 1), ('b', 2)])
6.循環

# dic之循環
# dic是無序的,可是python3採用了底層優化算法,因此看起來是有序的,可是python2中的字典是無序
dic = {'a': 1, 'b': 2, 'c': 3, 'd': 4}

for k, v in dic.items():  # items能夠換成keys()、values()
    print(k, v)

a 1 b 2 c 3 d 4

須要掌握

 1.get

 update

 fromkeys

 setdefault

1.get()

# dic之get()
dic = {'a': 1, 'b': 2}

print(f"dic.get('a'): {dic.get('a')}")
print(f"dic.get('c'): {dic.get('c')}")

dic.get('a'): 1 dic.get('c'): None
2.update()

# dic之update()
dic1 = {'a': 1, 'b': 2}
dic2 = {'c': 3}
dic1.update(dic2)

print(f"dic1: {dic1}")

dic1: {'a': 1, 'b': 2, 'c': 3}

3.fromkeys()

# dic之fromkeys()
dic = dict.fromkeys(['name', 'age', 'sex'], None)

print(f"dic: {dic}")

dic: {'name': None, 'age': None, 'sex': None}

4.setdefault()

# dic之setdefault(),有指定key不會改變值;無指定key則改變值
dic = {'a': 1, 'b': 2}

print(f"dic.setdefault('a'): {dic.setdefault('a',3)}")
print(f"dic: {dic}")
print(f"dic.setdefault('c'): {dic.setdefault('c',3)}")
print(f"dic: {dic}")

dic.setdefault('a'): 1 dic: {'a': 1, 'b': 2} dic.setdefault('c'): 3 dic: {'a': 1, 'b': 2, 'c': 3}

存一個值or多個值:

多個值,值能夠是多個類型,key必須是不可變類型,一般應該是不可變類型中的字符串類型

有序or無序:無序

可變or不可變:可變數據類型

相關文章
相關標籤/搜索