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
中有两种多值参数的方式:
- 参数名前增加一个
*
,可以接收元组。 - 参数名前增加两个
*
,可以接收字典。
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)
Python进阶(零)字典、缺省参数、多值参数相关推荐
- 7.1.3 Python进阶 《函数》定义、调用,参数,返回值《面向对象》概念,类,实例,对象,属性,方法《模块、包》导入,自定义,常用内置:datatime,time,random,os,sys
目录 ======== 第四部分 Python进阶 ======== 第一节 函数 4.1.1 函数定义及调用 4.1.2 函数的参数 4.1.3 函数的返回值 第二节 面向对象 4.2.1 面向对象 ...
- Python进阶7——字典与集合
1.创建字典的五种方式 d1=dict(one=1, two=2) d2={'one':1, 'two':2} d3=dict(zip(['one', 'two'], [1,2])) d4=dict( ...
- 【笔记】python的遍历字典:遍历所有键值对(方法items())、遍历字典中的所有键(方法keys())、按特定顺序遍历字典中的所有键、遍历字典中的所有值(方法values())、函数set()
文章目录 一.python的遍历字典 二.遍历所有键值对(方法items()) 三.遍历字典中的所有键(方法keys()) 四.按特定顺序遍历字典中的所有键 五.遍历字典中的所有值(方法values( ...
- Python进阶8——字典与散列表,字符串编解码
Python用散列表来实现字典,散列表就是稀疏数组(数组中有空白元素),散列表中的元素叫做表元,字典的每个键值对都占用一个表元,一个表元分成两个部分,一个是对键的应用,另一个是对值的引用,因为表元的大 ...
- python两个字典合并、相同key值保留_Python两个字典key相同的值组成新字典?
按照你的要求编写的多个字典key相同的值组成新字典的Python程序如下 def hebing(dic1,dic3): for key in dic1: if dic3.get(key): dic3[ ...
- Python进阶之路 3.4.1 布尔值和布尔变量
3.4.1 布尔值和布尔变量 在讲条件语句之前,首先应该了解一下布尔(boolean)类型.条件语句(if)需要为其制定布尔值或布尔类型的变量,才能根据条件判断是否要执行指定代码块中的语句.布尔值只有 ...
- 实现insmod 模块名.ko 参数1=值 参数2=值 参数3=值.......
目标: 实现模块读取uboot参数: 实现给模块传递参数: 实现proc文件系统属性的读写. 背景: 因一项目使用的模块,在加载时需要传入参数.于是对这一知识点进行整理,附带实现模块读取uboot参数 ...
- python 函数参数传递 格式_Python学习6.1_函数参数及参数传递
大多数编程语言都绕不开一个名词,那就是--函数(function).而函数很重要的部分则是参数(arguments)的使用.Python的参数传递总体来说是根据位置,传递对应的参数.阐述如下: 1.位 ...
- python dict.get_Python 字典的get()用法
作用 Python中的字典(Dictionary)是以键值对的形式存储数据的,get()方法可以返回指定键的值,如果该键不存在的话,返回默认值. 语法 dict.get(key, default=No ...
- Python中的字典该怎么用,看这一篇就够了(结尾有惊喜)
目录 1.基本概念 2.常用操作 (1)使用字典 1.基本形式 2.访问字典中的值 3.添加(或创建)键值对 4.修改字典中的值 5.删除键值对 (2)遍历字典 1.遍历字典中所有的键值对 2.遍历字 ...
最新文章
- 技师学院计算机老师,技师学院计算机教学课堂改革探索论文
- 【Flask】数据的CRUD操作之聚合函数
- java 中适配器原理_Java经典设计模式中关于适配器模式原理以及用法详解
- 一步一步学Ruby(二十一):文件操作2
- php7 configure 参数,PHP编译参数configure配置详解
- linux多线程学习(四)——互斥锁线程控制
- java 金额_货币金额的计算 - Java中的BigDecimal
- 自动驾驶——SimpleNet的学习笔记
- Windows 8功能预测
- 2015.12.24 OC中的装箱
- MySQL全量备份和增量备份脚本
- 学习笔记|Pytorch使用教程22(hook函数与CAM可视化)
- 计算机软件考试大纲,求计算机软件资格考试大纲和复习资料
- 基于PHP的学生学籍管理系统
- 电信物联网平台SOTA升级(软件升级)的全流程说明
- Apache Kylin Spark Cubing on Kubernetes 初探
- js实现螺旋纹理特效
- 35 实战 微额借款用户人品预测
- 元认知是认知的监督体系
- 大数据时代来临,数据应用随处可见
热门文章
- HDOJ 1465 不容易系列之一
- 导出Excel,身份证号码默认为成科学计数形式,解决方法.
- loopback-detection(环路检测)
- Windows平台CocosStudioV3.10安装配置(使用Cocos2d-xV3.17.2进行开发)
- Docker详解(十)——Docker容器CPU资源限额配置
- docker容器中的网络原理(单机模式下的容器网络)
- 使用NFS搭建WEB服务器集群
- 通过代码设置radiobutton不同方位图标的两种方法
- loadrunner 一个诡异问题
- jersey restful服务框架