wordpress站点克隆,河南郑州广城区,安徽工程信息网官网首页,360渠道推广系统在python中, list, tuple, dict, set有什么区别, 主要应用在什么样的场景?
定义:
list:链表,有序的项目, 通过索引进行查找,使用方括号”[]”;
tuple:元组,元组将多样的对象集合到一起,不能修改,通过索引进行查找, 使用括号”()”;
dict:字典,字典是一组键(key)和值(value…在python中, list, tuple, dict, set有什么区别, 主要应用在什么样的场景?
定义:
list:链表,有序的项目, 通过索引进行查找,使用方括号”[]”;
tuple:元组,元组将多样的对象集合到一起,不能修改,通过索引进行查找, 使用括号”()”;
dict:字典,字典是一组键(key)和值(value)的组合,通过键(key)进行查找,没有顺序, 使用大括号”{}”;
set:集合,无序,元素只出现一次, 自动去重,使用”set([])”
应用场景:
list, 简单的数据集合,可以使用索引;
tuple, 把一些数据当做一个整体去使用,不能修改;
dict,使用键值和值进行关联的数据;
set,数据只出现一次,只关心数据是否出现, 不关心其位置
注意
元组能存储多个不同类型的数据且是有序的。但它是不可变的因此不能进行修改、删除或添加元素的操作。
列表和元组非常相似唯一的不同是列表的元素是可以修改的。
字典的元素以键值对key-value的形式保存是无序的。
和列表一样字典可以修改。
定义方式
定义元组、列表和字典的方式如图所示分别使用小括号 () 、方括号 [] 和花括号 {} 。
三种数据结构的每一项元素都是由逗号分隔开。
访问多个元素
对于元组和列表来说除了访问单个元素外还可以使用切片来截取多个连续的元素。
切片需要使用冒号来分隔切片开始的位置和切片终止的位置。
同时遵循“左闭右开”原则就是取左边的数据不取右边的数据。
切片时开始位置和结束位置的数字还有三种填写情况。
1. 只填写结束位置的数字默认从第一个元素开始切片。
2. 只填写开始位置的数字默认从开始位置切片取到最后一个元素。
3. 两侧数字都不填写取列表中的所有元素。
修改元素
对列表和字典进行修改可以使用列表的索引或字典的键访问到需要修改的元素后直接重新赋值即可。
numbers [one, two, two , four, five] numbers[2] three print(numbers)
列表里添加元素
往列表里添加内容有两种方式
1. 如果想在列表的末尾增加一个元素可以使用 append() 语句将想要追加的内容放入append() 语句的括号内即可。
2. 如果想在列表的任意位置添加元素则可以使用 insert() 语句需要依次传入插入的元素位置和要插入的元素。
字典里添加元素
对于字典添加新元素的方式是直接指定一个新的键然后对它进行赋值。
删除元素
从列表中删除一个元素时我们使用pop()功能通过这个元素的索引来进行删除。
在字典中依旧使用pop()功能通过这个元素的键来进行删除。
in运算符
想要快速判断列表或者元组中是否有某一个元素可以使用in运算符。
in运算符的左边是要查找的元素右边是定义的元组或列表。
in运算的结果是一个布尔值True/False。
同样当我们不知道字典有哪些键的时候也可以通过in运算来检查字典是否包含某个键。
加法
列表和元组支持加法运算加法的和就是两个列表或元组所包含的元素首尾相接。需要注意的是列表只能和列表相加元组只能和元组相加
a_tuple (Python , 20, -10.2)
print(a_tuple)
print(\n)
b_tuple (127, Java, Test, True)
print(b_tuple)
print(\n)
print(a_tuple b_tuple )
其结果如下 乘法
列表和元组可以和整数执行乘法运算列表和元组乘法的作用就是把列表或元组中的元素重复N次并且首尾相接。
下面的代码演示了列表和元组的乘法。
a_tuple (Python编程思想 , 20)
# 执行乘法
mul_tuple a_tuple * 3
# (Python编程思想, 20, Python编程思想, 20, Python编程思想, 20)
print(\n)
print(mul_tuple)
a_list [12, 公众号极客起源, 4]
mul_list a_list * 4
# [12, 公众号极客起源, 4, 12, 公众号极客起源, 4]
print(\n)
print(mul_list) in 运算符
in运算符用于判断列表或元组是否包含某个元素例子代码如下
a_tuple (Python , 20, -11.5)
print(20 in a_tuple)
# True
print(1.2 in a_tuple)
# False
print(Python not in a_tuple)
# False **kwargs 的基本用法
**kwargs 解析的三种方法
通过是用内置函数 vars。
通过使用**运算符。
通过使用get()方法。
**kwargs 主要用于在函数定义中收集所有未被显式命名的关键字参数。在函数内部kwargs 是一个字典其中包含了所有传递进来的关键字参数及其对应的值。
示例
def my_function(**kwargs): for key, value in kwargs.items(): print(f{key} {value}) # 调用函数传递不同的关键字参数
my_function(nameAlice, age30, cityNew York)
在 Python 中使用 kwargs
如果您有一个接受两个关键字参数的函数您可以像这样访问它们
def my_func(**kwargs) :arg1kwargs[arg1]arg2kwargs[arg2]
您还可以使用 kwargs 为函数参数设置默认值。 例如如果你有一个带有可选关键字参数的函数你可以像这样设置一个默认值
def my_func(**kwargs):arg1 kwargs.get(arg1,default_value)
如果 arg1 关键字参数未传递给函数则此函数会将 arg1 设置为 default_value。
kwargs Python中**运算符解析
解析 kwargs 的另一种方法是使用 ** 运算符。 此运算符将字典解压缩为关键字参数
此方法比使用 vars() 更明确可以帮助避免潜在的类型转换错误。
def intro(**data):for key ,value in data.items():print({} is {}.format(key,value))
intro(firname aaaa, lastbbbbb, age12)
print(\n)
intro(firname aaaa, lastbbbbb,email1073369052qq.com ,conchina,age12,phone13) kwargs 在 Python 中使用 get() 方法进行解析 def test(farg,**kwargs):print(formal arg,farg)for key in kwargs:print(keyword arg: %s: %s % (key,kwargs[key]))
test(farg1,myarg22,myarg33)