键值对python,python字典的特性
老铁们,大家好,相信还有很多朋友对于键值对python和python字典的特性的相关问题不太懂,没关系,今天就由我来为大家分享分享键值对python以及python字典的特性的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!
Python字典键值对的添加和遍历
添加键值对
首先定义一个空字典
>>> dic={}
直接对字典中不存在的key进行赋值来添加
>>> dic['name']='zhangsan'
>>> dic
{'name':'zhangsan'}
如果key或value都是变量也可以用这种方法
>>> key='age'
>>> value=30
>>> dic[key]=value
>>> dic
{'age': 30.'name':'zhangsan'}
这里可以看到字典中的数据并不是按先后顺序排列的,如果有兴趣,可以搜一搜数据结构中的——哈希表
从python3.7开始,字典按照插入顺序,实现了有序。修改一个已存在的key的值,不影响顺序,如果删了一个key后再添加该key,该key会被添加至末尾。标准json库的dump(s)/load(s)也是有序的
还可以用字典的setdefault方法
>>> dic.setdefault('sex','male')
'male'
>>> key='id'
>>> value='001'
>>> dic.setdefault(key,value)
'001'
>>> dic
{'id':'001','age': 30.'name':'zhangsan','sex':'male'}
【Python】基础总结
input("提示性信息")
如:
input("请输入数字")
因为 Python没有特别人为规定数据类型,数据类型是由计算机进行判定,所以我们 input()输入的数据均默认作为字符串处理,而如果要输入一些数字,着需要 eval()评估函数对字符串进行评估,化为语句(数字)。
print(...)
默认空一行,如果想不空行,则
print(...., end="")
特性:
进制:
特性:
浮点数间运算存在不确定尾数,不是 bug
如:0.1+0.3→ 0.4
0.1+0.2→ 0.30000000000000004
这是由于在计算机中一切数据都是化为二进制进行存储的,而有的浮点数并不能完全化为相等的二进制数,只能无限趋近于二进制数。
如:0.1→
解决方法:
四舍五入:
例如:z= 1.23e-4+ 5.6e+89j
z.real获得实部,z.imag获得虚部
三种类型存在一种逐渐“扩展”或“变宽”的关系:
整数→浮点数→复数
特点:
字符串有 2类共 4种表示方法:
扩展:
使用[]获取字符串中一个或多个字符
使用[M:N:K]根据步长对字符串切片
{<参数序号>:<格式控制标记>}
>右对齐
^居中对齐|槽设定的输出宽度|数字的千位分隔符|浮点数小数精度或字符串最大输出长度|整数类型
b, c, d, o, x, X
浮点数类型
e, E, f,%|
填充、对齐、宽度这三个一组,例如:
"{0:=^20}".format("PYTHON")
→'=======PYTHON======='
"{0:*>20}".format("BIT")
→'*****************BIT'
"{:10}".format("BIT")
'BIT'
剩下的三个一组,例如:
"{0:,.2f}".format(12345.6789)
→'12,345.68'
"{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}x".format(425)
→'110101001,Σ,425,651,1a9,1A9'
"{0:e},{0:E},{0:f},{0:%}".format(3.14)
'3.140000e+00,3.140000E+00,3.140000,314.000000%'
↓CloseCode↓
使用 raise语句抛出一个指定的异常。
raise [Exception [, args [, traceback]]]
紧凑形式:适用于简单表达式的二分支结构
<表达式1> if<条件> else<表达式2>
例如:
↓CloseCode↓
↓CloseCode↓
↓CloseCode↓
↓CloseCode↓
例如:
↓CloseCode↓
运行结果:
↓CloseCode↓
↓CloseCode↓
例如:
↓CloseCode↓
运行结果:
↓CloseCode↓
↓CloseCode↓
例如:
↓CloseCode↓
运行结果:
↓CloseCode↓
↓CloseCode↓
例如:
↓CloseCode↓
运行结果:
↓CloseCode↓
↓CloseCode↓
例如:
↓CloseCode↓
运行结果:
↓CloseCode↓
由条件控制的循环运行方式
↓CloseCode↓
例如:
↓CloseCode↓
运行结果:
↓CloseCode↓
↓CloseCode↓
↓CloseCode↓
例如:
↓CloseCode↓
运行结果:
↓CloseCode↓
例如:
↓CloseCode↓
运行结果:
↓CloseCode↓
↓CloseCode↓
可选参数例如:
↓CloseCode↓
运行结果:
↓CloseCode↓
可变参数例如:
↓CloseCode↓
运行结果:
↓CloseCode↓
在函数定义中,经常会碰到*args(arguments)和作为参数**kwargs(keyword arguments)。
(事实上在函数中,和才是必要的,args和 kwargs可以用其他名称代替)
*args是指不定数量的非键值对参数。
**kwargs是指不定数量的键值对参数。
*args作为作为元组匹配没有指定参数名的参数。而**kwargs作为字典,匹配指定了参数名的参数。
*args必须位于**kwargs之前。
args(通常紧跟一个标识符,你会看到a或者args都是标识符)是python用于接收或者传递任意基于位置的参数的语法。当你接收到一个用这种语法描叙参数时(比如你在函数def语句中对函数签名使用了星号语法),python会将此标识符绑定到一个元祖,该元祖包含了所有基于位置的隐士的接收到的参数。当你用这种语法传递参数时,标识符可以被绑定到任何可迭代对象(事实上,它也可以是人和表达式,并不必须是一个标识符),只要这个表达式的结果是一个可迭代的对象就行。
**kwds(标识符可以是任意的,通常k或者kwds表示)是python用于接收或者传递任意基于位置的参数的语法。(python有时候会将命名参数称为关键字参数,他们其实并不是关键字--只是用他们来给关键字命名,比如pass,for或者yield,还有很多,不幸的是,这种让人疑惑的术语目前仍是这门语言极其文化根深蒂固的一个组成部分。)当你接收到用这种语法描叙的一个参数时(比如你在函数的def语句中对函数签名使用了双星号语法)python会将标识符绑定到一个字典,该字典包含了所有接收到的隐士的命名参数。当你用这种语法传递参数时,标识符只能被绑定到字典(我ID号I它也可以是表达式,不一定是一个标识符,只要这个表达式的结果是一个字典即可)。
当你在定义或调用一个函数的时候,必须确保a和k在其他所有参数之后。如果这两者同时出现,要将k放在a之后。
lambda函数返回函数名作为结果
↓CloseCode↓
例如:
↓CloseCode↓
运行结果:
↓CloseCode↓
谨慎使用lambda函数
python必会的10个知识点
python必会的10个知识点
1.函数;函数是一种仅在调用时运行的代码块你可以将数据(称为参数)传递到函数中,函数可以把数据作为结果返回。在Python中,使用def关键字定义函数,调用函数,则使用函数名称后跟括号。
2.参数,信息可以作为参数传递给函数:参数在函数名后的括号内指定。您可以根据需要添加任意数量的参数,只需用逗号分隔即可。下面这个例子有一个带参数(fname)的函数。当调用此函数时,我们传递一个名字,在函数内部使用它来打印全名:
3.args和*kwargs函数是Python中的构建块。它们接受零个或多个参数并返回一个值。Python在参数如何传递给函数方面非常灵活。args和kwargs使处理参数更容易、更清晰。args允许函数接受任意数量的位置参数。
kwargs:允许函数接受任意数量的关键字参数。默认情况下,*kwargs是一个空字典。每个未定义的关键字参数都作为键值对存储在*kwargs字典中。
4.类;面向对象编程(QOP)范式是围绕着拥有属于特定类型的对象的思想构建的。从某种意义上说,类型是解释我们的对象。Python中的所有东西都是一种类型的对象,比如整数、列表、字典、函数等等。我们使用类定义一种对象类型。类具有以下信息:数据属性:创建类的实例需要什么方法(即过程属性):我们如何与类的实例交互。
5.列表List是Python中的内置数据结构。它表示为方括号中的数据点集合。列表可用于存储任何数据类型或不同数据类型的混合。列表是可变的,这也是为什么它们如此常用的原因之一。因此,我们可以删除和添加项。也可以更新列表中的项目。
6.列表姓成式,列表柱成试用更简单、更吸引人的语法表示o和循环。列表生成式相时比or循环快。List=[expression for item in iterable(if conditional)]下面是一个简单的列表生成式,它根据给定的条件从另一个列表创建一个列表
7.字典;字典是一个无序的键值对集合。每个条目都有一个键和值。字典可以看作是一个有特殊索引的列表。密钥必须是唯一且不可变的。所以我们可以使用字符串、数字(it或oat)或元组作为键。值可以是任何类型。
考虑一个需要存储学生成绩的案例。我们可以把它们存储在字典或列表中。Grades dictionaryGrades list创建字典的一种方法是在大括号中编写键值对。
8.集合;集合是不同的可散列对象的无序集合。这是Python官方文档中对集合的定义。让我们打开它。无序集合:它包含零个或多个元素。集合中的元素没有顺序。因此,它不支持索引或切片,就像我们对列表所做的那样。
不同的可散列对象:一个集合包含唯一的元素。hashable表示不可变。尽管集合是可变的,但集合的元素必须是不变的。
我们可以通过将逗号分隔的对象放在大括号中来创建一个集合。集合不包含重复的元素,因此即使我们多次尝试添加相同的元素,结果集合也将包含唯一的元素。
9.元组;元组是用逗号分隔并用括号括起来的值的集合。与列表不同,元组是不可变的。元组的不变性可以着作元组的识别特征。元组由括号中的值和逗号分隔的值组成。
我们也可以不使用括号来创建元组。用逗号分隔的值序列将创建一个元组。元组最常见的用例之一是返回多个值的函数。
10.Lambda表达式;Lambda表达式是函数的特殊形式。通常,lambda表达式不带名称。考虑以下返回给定数字平方的函数。
考虑一个需要做一次或几次的操作。此外,我们有许多变化,这一行动是路有不同,比原来的一个。在这种情况下,为每个操作定义二个单独的函数并不理想。相反,lambda表达式提供了一种更有效的方法来完成任务。
关于键值对python到此分享完毕,希望能帮助到您。