python知识之字典和集合
程序员文章站
2024-01-16 10:52:31
...
1、字典(dict)
1.1 字典的定义
字典是一种可变容器模型,可以存储任意类型的对象。
字典由键值对组成,每个键值对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包含在花括号({})中。
dic = {"name":"mike", "age": 10} # 创建一个非空字典
len(dic) # 输出字典中包含键值对的个数:2
dic = {} # 创建一个空字典
1.2 字典常见操作
1.2.1 添加元素
使用 dic[key] = value ,即可新增元素
dic = {}
dic["name"] = "mike"
print(dic) # {"name":"mike"}
1.2.2 修改元素
字典的一个键是唯一的,且只能对应一个值,所以,重复赋值给相同的键时,后面的值会把前面的值给覆盖掉,即可完成字典元素的修改。
dic = {"name":"mike", "age": 10}
dic["name"] = "lucy"
print(dic) # 输出 {"name":"lucy", "age": 10}
1.2.3 查找元素
dic[key] : 存在key时返回值,不存在时会报错,
dic.get(key, value): 存在key时返回值,不存在时key时不会报错,会输出自定义的value时(并不是给字典添加该键值对)
dic = {"name":"mike", "age": 10}
dic["name"] # 输出 "mike"
dic["sex"] # 输出报错信息
dic.get("name", "lucy") # 输出 "mike"
dic.get("sex", "boy") # 输出 "boy",可防止报错发生,还可自定义返回值
1.2.4 删除元素
1.2.4.1 del
del dic[key] ,删除指定元素
del dic ,删除整个字典
dic = {"name":"mike", "age": 10}
del dic["name"]
print(dic) # 输出 {'age': 10}
del dic
print(dic) # 输出报错,NameError: name 'dic' is not defined
1.2.4.2 clear(注意与del的区别)
dic.clear(),清空整个字典,字典仍保留,不过是个空字典。
dic = {"name":"mike", "age": 10}
dic.clear()
print(dic) # 输出 {}
1.2.5 获取键值
1.2.5.1 keys
dic.keys(),可以返回字典所有的key。
dic = {"name":"mike", "age": 10}
print(dic.keys()) # 输出 dict_keys(['name', 'age'])
print(list(dic.keys())) # 将keys转成列表,输出 ['name', 'age']
1.2.5.2 values
dic.values(), 可以返回字典所有的value。
dic = {"name":"mike", "age": 10}
print(dic.values()) # 输出 dict_values(['mike', 10])
print(list(dic.values())) # 将values转成列表,输出 ['mike', 10]
1.2.5.3 items
dic.items(),可以返回字典所有的键值对。
dic = {"name":"mike", "age": 10}
print(dic.items()) # 输出 dict_items([('name', 'mike'), ('age', 10)])
print(list(dic.items())) # 将键值对转成列表,输出 [('name', 'mike'), ('age', 10)]
for key, value in dic.items(): # 常用的遍历字典获取键值的方式
print(key)
print(value)
2 集合(set)
2.1 集合的定义
集合是一个无序的不重复元素序列
可以使用大括号{}或者set()函数创建集合,需要注意的是,创建一个空集合必须使用set(),不能使用{},因为{}用来创建一个空字典。
my_set = {2, 5, "hello"} # 创建一个非空集合
my_set = set() # 创建一个空集合
2.2 集合常见操作
my_set = {2, 5, "hello"}
my_set.add("hi") # 增加一个元素
for value in my_set: # 可通过for循环遍历取值
print(value)
for index, value in enumerate(my_set):
print(index,value)
my_set = set([1, 1, 2, 5]) # 把列表转成集合,常用于列表的去重
# my_set[0] = 6 # 不支持下标赋值
# print(my_set[0]) # 不支持下标取值
上一篇: 学习数据结构的第一天
下一篇: 学习数据库的第一天