文章目录
- 字典
- 字典的增、删、改
- 字典的统计、合并、清空
- 字典的遍历循环
- 字典和列表组合应用
- 缺省参数
- 多值参数
字典
dictionary
(字典)是除列表以外Python
中最灵活的数据类型。字典同样可以用来存储多个数据,与列表相比,字典中存储的是无序的对象集合。
字典使用键值对存储数据,键值对之间用,
分隔,键和值之间使用:
分隔。键必须是唯一的。
值可以取任何数据类型,但键只能使用字符串、数字或元组。
xiaoming = {
"name":"xiaoming",
"Age":17
}
print(xiaoming["Age"])
字典的增、删、改
xiaoming = {
"name":"xiaoming",
"Age":17
}
# 如果Key不存在会报错
print(xiaoming["name"])
# 如果Key存在,会修改新增键值对
xiaoming["Age"]=18
# 如果Key不存在,会修改已经存在的键值对
xiaoming["Gender"]=True
# 删除
xiaoming.pop("name")
print(xiaoming)
字典的统计、合并、清空
xiaoming = {
"name":"xiaoming",
"Age":17
}
# 1. 统计键值对数量
len(xiaoming)
# 2. 合并字典
temp_dic = {
"height":1.75,
"Age":20
}
xiaoming.update(temp_dic)
# 3. 清空字典
xiaoming.clear()
字典的遍历循环
# for循环内部使用的key的变量”in字典
for k in xiaoming:
print("%s: %s" % (k, xiaoming[k]))
字典和列表组合应用
将多个字典放在一个列表中。
card_list = [{"name": "张三",
"qq": "12345",
"phone": "110"},
{"name":"李四",
"qq": "54321",
"phone": "10086"}]
缺省参数
在定义函数时可以给某个参数指定一个默认值,具有默认值的参数就叫做缺省参数。
gl_num_list = [6, 3, 9]
#默认就是升序排序,因为这种应用需求更多
gl_num_list.sort()
print(gl_ num_list)
#只有当需要降序排序时,才需要传递、 reverse参数
gl_num_list.sort(reverse=True)
print(gl_num_list)
如果定义了一个缺省参数,那这个缺省参数必须要在列表的末尾,下面的方法是错误的:
def print_ info(name, gender=True, title):
多值参数
在开发的时候,有时候一个函数需要处理的参数个数是不确定的,这个时候就可以使用多值参数。
Python
中有两种多值参数的方式:
- 参数名前增加一个
*
,可以接收元组。 - 参数名前增加两个
*
,可以接收字典。
-
arg
是arguments
的缩写,有变量的含义。 -
kw
是keyword
的缩写,kwargs
可以记忆键值对参数。
def test(num, *args, **kwargs):
print(num)
print(args)
print(kwargs)
test(1,2,3,4,name="xiaoming",age=18)
输出:
1
(2, 3, 4)
{'name': 'xiaoming', 'age': 18}
- 元组和字典的拆包
将一个元组变量,直接传递给args
。将一个字典变量,直接传递给kwargs
。
def demo(*args, **kwargs):
print(args)
print (kwargs)
#需要将一个元组变量/字典变量传递给函数对应的参数
gl_ nums = (1, 2, 3)
gl_ xiaoming = {"name": "小明","age": 18}
#会把num_ tuple和xiaoming作为元组传递个args
# demo(gl_ nums, gl_ xiaoming)
demo(*gL_ nums, **gL xiaoming)