后浪小萌新Python --- 字典相关操作和方法

一、相关操作

字典不支持加法、乘法和比较大小的运算

举例:

print({'a': 10} + {'b': 20})
print({'a': 100} > {'b': 10})

运行结果:

TypeError: unsupported operand type(s) for +: 'dict' and 'dict'

TypeError: '>' not supported between instances of 'dict' and 'dict'

判断数据本身是否相等: ==,!=

print({'a': 10, 'b': 20} == {'b': 20, 'a': 10})
True

is - 判断两个数据的地址是否相等

举例:

a = {'a': 10}
b = {'a': 10}
c = a
print(a == b)
print(a is b)
print(a is c)

运行结果:

True
False
True

in 和 not in

key in 字典 - 判断字典中是否有指定的key

举例:

dict1 = {'a': 10, 'b': 20, 'c': 30}
print(10 in dict1)
print('b' in dict1)

运行结果:

False
True

相关函数: len\dict

len(字典) - 获取字典中键值对的个数

举例:

dict1 = {'a': 10, 'b': 20, 'c': 30}
print(len(dict1))

运行结果:

3

dict(数据) - 将其他数据转换成字典(数据的要求:

  1. 序列
  2. 序列中的元素还是序列
  3. 内部的序列有且只有两个元素, 第一个元素不可变)

举例:

list1 = ['ab', (10, 20), ['name', '张三']]
print(dict(list1))

运行结果:

{'a': 'b', 10: 20, 'name': '张三'}

将字典转换成其他数据

  1. 将字典转换成列表/元组 - 将字典的key作为列表/元组的元素
  2. 将字典转换成字符串
  3. 将字典转换成布尔

举例:

stu = {'name': '小明', 'age': 18, 'score': 100}

# 1)将字典转换成列表/元组 - 将字典的key作为列表/元组的元素
print(list(stu))    
print(tuple(stu))   

# 2)将字典转换成字符串
print(str(stu))  

# 3)将字典转换成布尔
print(bool({}))  
print(bool(stu))  

运行结果:

['name', 'age', 'score']
('name', 'age', 'score')
{'name': '小明', 'age': 18, 'score': 100}
False
True

二、相关方法

字典.clear()

举例:

stu = {'name': '小明', 'age': 18, 'score': 100}
stu.clear()
print(stu)

运行结果:

{}

字典.copy()

举例:

stu = {'name': '小明', 'age': 18, 'score': 100}
stu2 = stu.copy()
print(stu2)
stu['name'] = '小花'
print(stu2)

运行结果:

{'name': '小明', 'age': 18, 'score': 100}
{'name': '小明', 'age': 18, 'score': 100}

dict.fromkeys(序列, 默认值=None)

创建一个新的字典,序列中所有的元素会作为新字典的key,默认值是所有key对应的值

举例:

new_dict = dict.fromkeys('abc')
print(new_dict)

new_dict = dict.fromkeys(['name', 'age', 'sex'], 0)
print(new_dict)

new_dict = dict.fromkeys(['name', 'age', 'sex'], ['张三', 19, '男'])
print(new_dict)  

运行结果:

{'a': None, 'b': None, 'c': None}
{'name': 0, 'age': 0, 'sex': 0}
{'name': ['张三', 19, '男'], 'age': ['张三', 19, '男'], 'sex': ['张三', 19, '男']}

字典.items()、字典.keys()、字典.values()

举例:

stu = {'name': '小明', 'age': 18, 'score': 100}
print(stu.items())
print(stu.keys())
print(stu.values())

运行结果:

dict_items([('name', '小明'), ('age', 18), ('score', 100)])
dict_keys(['name', 'age', 'score'])
dict_values(['小明', 18, 100])

字典.setdefault(key, value)

在字典中添加键值对(单纯的添加键值对,不会修改)

举例:

stu = {'name': '小明', 'age': 18, 'score': 100}
stu.setdefault('weight', 100)
print(stu)

stu.setdefault('name', 'asd')
print(stu)

运行结果:

{'name': '小明', 'age': 18, 'score': 100, 'weight': 100}
{'name': '小明', 'age': 18, 'score': 100, 'weight': 100}

字典1.update(字典2)

将字典2中所有的键值对全部添加到字典1中

举例:

stu.update({'a': 10, 'b': 20})
print(stu)

运行结果:

{'name': '小明', 'age': 18, 'score': 100, 'weight': 100, 'a': 10, 'b': 20}

猜你喜欢

转载自blog.csdn.net/qq_26209771/article/details/107643369