文章目录

  • 字典
    • 字典的增、删、改
    • 字典的统计、合并、清空
    • 字典的遍历循环
    • 字典和列表组合应用
  • 缺省参数
  • 多值参数

字典

  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)

Python进阶(零)字典、缺省参数、多值参数相关推荐

  1. 7.1.3 Python进阶 《函数》定义、调用,参数,返回值《面向对象》概念,类,实例,对象,属性,方法《模块、包》导入,自定义,常用内置:datatime,time,random,os,sys

    目录 ======== 第四部分 Python进阶 ======== 第一节 函数 4.1.1 函数定义及调用 4.1.2 函数的参数 4.1.3 函数的返回值 第二节 面向对象 4.2.1 面向对象 ...

  2. Python进阶7——字典与集合

    1.创建字典的五种方式 d1=dict(one=1, two=2) d2={'one':1, 'two':2} d3=dict(zip(['one', 'two'], [1,2])) d4=dict( ...

  3. 【笔记】python的遍历字典:遍历所有键值对(方法items())、遍历字典中的所有键(方法keys())、按特定顺序遍历字典中的所有键、遍历字典中的所有值(方法values())、函数set()

    文章目录 一.python的遍历字典 二.遍历所有键值对(方法items()) 三.遍历字典中的所有键(方法keys()) 四.按特定顺序遍历字典中的所有键 五.遍历字典中的所有值(方法values( ...

  4. Python进阶8——字典与散列表,字符串编解码

    Python用散列表来实现字典,散列表就是稀疏数组(数组中有空白元素),散列表中的元素叫做表元,字典的每个键值对都占用一个表元,一个表元分成两个部分,一个是对键的应用,另一个是对值的引用,因为表元的大 ...

  5. python两个字典合并、相同key值保留_Python两个字典key相同的值组成新字典?

    按照你的要求编写的多个字典key相同的值组成新字典的Python程序如下 def hebing(dic1,dic3): for key in dic1: if dic3.get(key): dic3[ ...

  6. Python进阶之路 3.4.1 布尔值和布尔变量

    3.4.1 布尔值和布尔变量 在讲条件语句之前,首先应该了解一下布尔(boolean)类型.条件语句(if)需要为其制定布尔值或布尔类型的变量,才能根据条件判断是否要执行指定代码块中的语句.布尔值只有 ...

  7. 实现insmod 模块名.ko 参数1=值 参数2=值 参数3=值.......

    目标: 实现模块读取uboot参数: 实现给模块传递参数: 实现proc文件系统属性的读写. 背景: 因一项目使用的模块,在加载时需要传入参数.于是对这一知识点进行整理,附带实现模块读取uboot参数 ...

  8. python 函数参数传递 格式_Python学习6.1_函数参数及参数传递

    大多数编程语言都绕不开一个名词,那就是--函数(function).而函数很重要的部分则是参数(arguments)的使用.Python的参数传递总体来说是根据位置,传递对应的参数.阐述如下: 1.位 ...

  9. python dict.get_Python 字典的get()用法

    作用 Python中的字典(Dictionary)是以键值对的形式存储数据的,get()方法可以返回指定键的值,如果该键不存在的话,返回默认值. 语法 dict.get(key, default=No ...

  10. Python中的字典该怎么用,看这一篇就够了(结尾有惊喜)

    目录 1.基本概念 2.常用操作 (1)使用字典 1.基本形式 2.访问字典中的值 3.添加(或创建)键值对 4.修改字典中的值 5.删除键值对 (2)遍历字典 1.遍历字典中所有的键值对 2.遍历字 ...

最新文章

  1. 重定向、别名、绝对路径、相对路径 详解
  2. MySQL性能优化的21条最佳经验
  3. 解锁云原生 AI 技能 - 开发你的机器学习工作流
  4. 一文弄懂java中的Queue家族
  5. How to find all event handler list for a given event
  6. Android开发之自定义view预览不显示的问题
  7. 利用回溯法解决1-9之间添加+或-或使得运算结果为100的问题
  8. 装饰器,迭代器,生成器
  9. Spring :读取配置文件(.properties、.yam)相关注解
  10. CorePlot-曲线图
  11. 028_adblock
  12. 微信红包封面,你真的领取到了吗?
  13. 网络爬虫,淘宝API商品详情测试(抓取详情数据)
  14. Task Office for Mac(GTD办公软件)
  15. Laravel 邮件发送
  16. UAP开发步骤详解(很详细哦)---②单据向导开发
  17. 【Python爬虫学习】一、Request
  18. 彩灯循环控制系统 电路与电子技术 课程设计
  19. 服务器上的东西丢了怎么找回来,东西丢了不要急,教你用周易古诀找回失物!...
  20. 实时票房 麦谈帮API数据接口

热门文章

  1. C_Learning(3)
  2. 网管学习日记-三层交换机
  3. 网管学习日记-单臂路由
  4. CICD详解(二)——Jenkins持续集成原理
  5. docker 安装与部署
  6. Leetcode 刷题笔记(二十四) ——动态规划篇之背包问题:01背包
  7. dubbo整合springmvc 使用 学习二(spring+dubbo+zookeeper单机服务)
  8. android 学习随笔二十三(动画:Fragment )
  9. JsonHelper 操作帮助类
  10. pyhon基础(一)