欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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])           # 不支持下标取值
相关标签: python知识