Python进阶(零)字典、缺省参数、多值参数

字典

  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中有两种多值参数的方式:

  1. 参数名前增加一个*,可以接收元组。
  2. 参数名前增加两个*,可以接收字典。
  • argarguments的缩写,有变量的含义。
  • kwkeyword的缩写,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)

我的微信公众号名称:小小何先生
公众号介绍:主要研究分享深度学习、机器博弈、强化学习等相关内容!期待您的关注,欢迎一起学习交流进步!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值