字典类型内置方法

字典类型内置方法

一、字典类型内置方法(dict)

1.用途:存多个值,但每一个值都有一个key与之对应,key对值有描述功能。多用于存的值表示的是不同的状态时,例如存的值有姓名、年龄、身高、体重、爱好。

2.定义:{}内用逗号分隔开多个元素,每一个元素都是key:value的形式,value可以是任意数据类型,而key通常应该是字符串类型,但是key必须为不可变类型。

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]: b

dic = {[1,2]: 'a', 0: 'b'}  # 报错

3.常用操作+内置方法:常用操作和内置方法分为优先掌握(今天必须得记住)、需要掌握(一周内记住)两个部分。

1.1优先掌握(*************)

  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.长度len

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

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

len(dic): 2

3.成员运算in 和not in

# 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.删除

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

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

dic.get('a'): None

# 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()}")  # popitem() 方法随机返回并删除字典中的一对键和值(一般删除末尾对)

dic.popitem(): ('b', 2)

5.键keys()、值values()、键值对item()

# 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.item(): {dic.items()}")

dic.keys(): dict_keys(['a', 'b'])
dic.values():dict_values([1, 2])
dic.item(): 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():
    print(k, v)

a 1
b 2
c 3
d 4

1.2需要掌握(************)

  1. get
  2. update
  3. fromkeys
  4. 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()
dic = {'a': 1, 'b': 2}
dic2 = {'c': 3}
dic.update(dic2)

print(f"dic: {dic}")

dic: {'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}

原文地址:https://www.cnblogs.com/Lin2396/p/11305828.html