一.字典(dict)的概念:
Python字典是另一种可变容器模型,可存储任意类型对象。如字符串、数字、元组等其他容器模型
因为字典是无序的所以不支持索引和切片。
二.字典(dict)的定义:
1.一般格式:
格式: 字典名={元素1,元素2,…}
元素以键值对存在==key(键值):value(实值)
2.空字典:
格式: 字典名={} 或者 字典名=dict()
3.举例:
dict = {“nane”: “张三”, “age”: 20, “sex”: “男”}
dict1={}
dict2={}
print(dict)
print(dict1)
print(dict2)
结果:
注意:
key不可以重复,否则只会保留第一个;
value值可以重复;
key可以是任意的数据类型,但不能出现可变的数据类型,保证key唯一;
key一般形式为字符串。
三.字典(dict)的一些基本操作:
1.增:
格式: 字典名[new key]=new value
dict = {"nane": "张三", "age": 20, "sex": "男"}
# 增加元素
dict["score"] = 100
print(dict)
2.删:
格式:del 字典名[key]
# 定义一个字典
dict = {"name": "张三", "age": 20, "sex": "男"}
#删除元素
del dict["name"]
print(dict)
3.查:
格式: value=字典名[key]
# 定义一个字典
dict = {"name": "张三", "age": 20, "sex": "男"}
#查找元素
value=dict["sex"]
print(value)
4.改:
格式: 字典名[key]=new value
# 定义一个字典
dict = {"name": "张三", "age": 20, "sex": "男"}
#修改元素
dict["name"]="李四"
print(dict)
注意:也可以使用clear()去进行清空字典
#清空字典
dict.clear()
print(dict)
四.字典(dict)的常见操作:
名称 | 解释 |
---|---|
len() | 测量字典中键值对个数 |
keys() | 返回字典中所有的key |
values() | 返回包含value的列表 |
items() | 返回包含(键值,实值)元组的列表 |
in \ not in | 判断key是否存在字典中 |
举例说明:
# 定义一个字典
dict = {"name": "张三", "age": 20, "sex": "男"}
#常见操作
#len():测量字典中的键值对
print(len(dict))
#keys():返回所有的key
print(dict.keys())
#values():返回包含value的列表
print(dict.values())
#items():返回包含(键值,实值)元组的列表
print(dict.items())
#in not in
if 20 in dict.values():
print("我是年龄")
if "李四" not in dict.values():
print("李四不存在")
五.字典三种取值方式:
1.value=字典名[key]:
这种是比较简单的方式,通过key值进行取值:
#字典的定义
my_dict={“name”:“小红”,“age”:20,“sex”:“女”}
#1.value=字典名[key]
print(my_dict[“age”])
2.setdefault:
格式:字典名.setdefault(k,value)
如果key值存在,那么返回对应字典的value,不会用到自己设置的value;
如果key值不存在.返回None,并且把新设置的key和value保存在字典中;
如果key值不存在,但设置了value,则返回设置的value;
#字典的定义
my_dict={“name”:“小红”,“age”:20,“sex”:“女”}
#2.setdefault: 格式:字典名.setdefault(k,default)
#如果key存在返回对应的value
print(my_dict.setdefault("name"))
print(my_dict.setdefault("name","111"))
print(my_dict)
#如果key不存在,返回None,并且将设置的加入字典中
print(my_dict.setdefault("name1"))
print(my_dict.setdefault("name1","555"))
print(my_dict)
3.get:
格式:字典名.get(k,value)
如果key值存在,那么返回对应字典的value,不会用到自己设置的value;
如果key值不存在.返回None,但是不会把新设置的key和value保存在字典中;
如果key值不存在,但设置了value,则返回设置的value;
#字典的定义
my_dict={"name":"小红","age":20,"sex":"女"}
#3.get: 格式:字典名.get(k,default)
#如果key存在返回对应的value
print(my_dict.get(“name”))
print(my_dict.get(“name”,“李四”))
#如果key不存在,返回None,设置的不加入字典中
print(my_dict.get(“name2”))
print(my_dict.get(“name2”,“王五”))
print(my_dict)
以上3部分程序运行结果:
#六.字典的遍历:
1.key:
#1.key
for i in my_dict.keys():
print(i)
2.value:
#2.value
for i in my_dict.values():
print(i)
3.item:
#3.所有项(元素) item
for i in my_dict.items():
print(i)
4.依次打印key和value:
#4.依次打印key和value,通过索引
for key,value in my_dict.items():
print(key,value)
5.元素值和对应的下标索引(enumerate()):
#5.元素值和对应的下标索引 enumerate(列表名)
for i in enumerate(my_dict):
print(i)
列表的基本操作
函数 | 描述 |
---|---|
print() | 打印输出 |
len() | 确定列表项目 |
type() | 返回变量类型 |
list() | 转换为列表 |
max() | 返回列表元素最大值 |
min() | 返回列表元素最小值 |
del | 删除列表 |
方法 | 描述 |
---|---|
append(obj) | 在列表末尾添加新的对象 |
insert(index, obj) | 在指定位置添加元素 |
extend(seq) | 将列表元素(或任何可迭代的元素)添加到当前列表的末尾 |
count(obj) | 统计某个元素在列表中出现的次数 |
index(obj) | 返回具有指定值的第一个元素的索引 |
sort( key=None, reverse=False) | 对原列表进行排序 |
copy() | 复制列表 |
reverse() | 颠倒列表的顺序 |
pop([-1]) | 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 |
remove(obj) | 移除列表中某个值的第一个匹配项 |
clear() | 清空列表 |