Python基础:字典和集合
一、字典
1、创建
dict1 = {'name': 'Tom', 'age': 23, 'gender': 'M'}
dict2 = dict()
print(dict1, dict2) # {'name': 'Tom', 'age': 23, 'gender': 'M'} {}
2、增加/修改
dict1 = {'name': 'Tom', 'age': 23, 'gender': 'M'}
dict1['id'] = 100
print(dict1) # {'name': 'Tom', 'age': 23, 'gender': 'M', 'id': 100}
dict1['name'] = 'Rose'
print(dict1) # {'name': 'Rose', 'age': 23, 'gender': 'M', 'id': 100}
3、删除
dict1 = {'name': 'Tom', 'age': 23, 'gender': 'M'}
del dict1['gender']
print(dict1) # {'name': 'Tom', 'age': 23}
dict1.clear()
print(dict1) # {}
del dict1
4、查找
dict1 = {'name': 'Tom', 'age': 23, 'gender': 'M'}
print(dict1.get('age')) # 23
print(dict1.get('ages', -1)) # -1
print(dict1.get('ages')) # None
print(dict1.keys()) # dict_keys(['name', 'age', 'gender'])
print(dict1.values()) # dict_values(['Tom', 23, 'M'])
print(dict1.items()) # dict_items([('name', 'Tom'), ('age', 23), ('gender', 'M')])
5、遍历
遍历字典的键、值、项
dict1 = {'name': 'Tom', 'age': 23, 'gender': 'M'}
for key in dict1.keys():
print(key)
for val in dict1.values():
print(val)
for itm in dict1.items():
print(itm)
遍历字典的键值对
dict1 = {'name': 'Tom', 'age': 23, 'gender': 'M'}
for key, val in dict1.items():
print(f'{key} = {val}')
二、集合:自动去重
1、创建
s1 = {1, 1, 2, 3, 4}
print(s1) # {1, 2, 3, 4}
s2 = set('abcdefgabc')
print(s2) # 无序去重的字符{'c', 'f', 'd', 'e', 'g', 'a', 'b'}
s3 = set()
print(type(s3)) # <class 'set'>
2、增加
s1 = {1, 1, 2, 3}
s1.add(1) # add()增加单个数
s1.add(4)
print(s1) # {1, 2, 3, 4}
s2 = {1, 1, 2, 3}
s2.update([1, 2, 3, 4, 5]) # update()增加序列
print(s2) # {1, 2, 3, 4, 5}
3、删除
s1 = {1, 2, 1, 3}
s1.remove(2)
print(s1) # {1, 3}
# s1.remove(2) # 报错
s1.discard(1)
print(s1) # {3}
s1.discard(1)
print(s1) # {3}不报错
s1.add(2)
s1.pop() # 随机删除
print(s1)
4、查找
s1 = {1, 2, 3}
print(1 in s1)
print(1 not in s1)
三、公共操作
1、运算符
2、函数
str1 = 'abc'
list1 = [1, 2, 3, 4, 5]
tuple1 = (1, 2, 3, 4, 5)
set1 = {1, 2, 3, 4, 5}
dict1 = {'1': 'A', '2': 'B'}
print(len(str1))
print(len(list1))
print(len(tuple1))
print(len(set1))
print(len(dict1))
print(max(str1))
print(max(list1))
print(max(tuple1))
print(max(set1))
print(max(dict1))
print(min(str1))
print(min(list1))
print(min(tuple1))
print(min(set1))
print(min(dict1))
del str1, list1, tuple1, set1, dict1
for i in range(1, 10, 1):
print(i) # 1~9
for i in range(10):
print(i) # 0~9
list1 = ['a', 'b', 'c', 'd', 'e']
for i in enumerate(list1):
print(i)
'''
(0, 'a')
(1, 'b')
(2, 'c')
(3, 'd')
(4, 'e')
'''
for index, ch in enumerate(list1):
print(f'index:{index}, char:{ch}')
'''
index:0, char:a
index:1, char:b
index:2, char:c
index:3, char:d
index:4, char:e
'''
3、类型转换
tuple()、set()、list()