公共方法和推导式

一、运算符

运算符描述支持的容器类型
+合并字符串、列表、元组
*复制字符串、列表、元组
in元素是否存在字符串、列表、元组、字典
not in元素是否不存在字符串、列表、元组、字典

二、公共方法

函数描述
len()计算容器中元素个数
del 或 del()删除(第一种是 后面空格;第二种是小括号)
max()返回容器中元素最大值
min()返回容器中元素最小值
range(start,end,step)生成从start到end的数字,步长为step,供for循环使用
enumerate(可遍历对象,start=0【下标起始值】)函数用于讲一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下表,一般用在for循环当中。结果返回的是一个数组

注意:range()生成的序列不包含end数字

三 容器类型转换

1、tuple() :将某个序列转换成元组
2、list() :将某个序列转换成列表
3、set() :将某个序列转换成集合;
注意:①集合可以快速完成去重功能;②集合不支持下标

四、列表推导式

4.1 循环列表推导式

  • while循环创建有规律的列表

作用:一个表达式创建一个有规律的列表或控制一个有规律列表。
列表推导式又叫列表生成式。

list1=[]
i=0
while i<10:
	list1.append(i)
	i +=1
print(list1)
  • for循环创建有规律的列表
list=[]
for i in range(10):
	list1.append(i)
print(list1)
### list1=[i for i in range(10)]
  • 体验列表推导式
 list1=[i for i in range(10)]

4.2 if 循环列表推导式

需求:0-10偶数数据的列表

  • 方法一:range()步长实现
list1 =[i for i in range(0,10,2)]
  • 方法二:if 实现
list2 =[i for i in range(10) if i %2 == 0]

4.3 多个 for 循环实现列表推导式

需求:列表如下
[(1,0),(1,1),(1,2),(2,0),(2,1),(2,2)]

  • 代码如下:
list1 =[(i,j)  for i in range(1,3) for j in range(3)]
list1=[]
for i in range(1,3):
	for j in range(3):
		# 列表里面追加元组,循环准备一个空列表,然后这里追加元组数据到列表
		list1.append(i,j)
# 多个for的列表推导式等同于for循环嵌套

五、字典推导式

字典推导式作用:快速合并列表为字典或提取字典中目标数据。

5.1 体验

  • 创建一个字典:字典key是1-5的数字,value是这个数字的2的次方。
dic1 ={i:i**2 for i in range(1,5)}

5.2 将两个列表合并为一个字典

list1=['name','age','gender']
list2 =['Tom',20,'man']

dic1={list1[i]:list2[i] for i in range(len(list1))}

5.3 提取字典中目标数据

counts = {'MBP':268,'HP':125,'DELL':201,'Lenovo':199,'acer':99}

# 需求:提取上述电脑数量大于等于200的字典数据
count1 = {key:value for key,value in counts.items() if value >= 200}

六、 集合推导式

需求:创建一个集合,数据为下方列表的2次方

list1=[1,1,2]

set1 ={i ** 2 for i in list1}
print(set1) #{1,4}

注意:集合有数据去重功能。因此上述例子 结果只有两个数据

总结:

  • 推导式的作用:简化代码
  • 推导式写法
# 列表推导式
[xx for xx in range()]
# 字典推导式
{xx1:xx2 for ... in ...}
#集合推导式
{xx for xx in ...}
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小橙子*

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值