ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

第七集:数据类型-列表推导式

2022-02-27 10:00:59  阅读:162  来源: 互联网

标签:10 推导 varlist newlist 数据类型 第七集 list range print



'''
列表推导式:1.基本的使用方式
变量 = [变量或变量的处理结果 for 变量 in 容器类型数据]

'''
# 使用map和list计算数字平方
res = filter(lambda x:x,['wo',-2])
print(list(res))

re = map(lambda x:x**2 ,range(10))
print(re,type(re))
print(f'map和list完成{list(re)}')

# 使用普通方法完成
varlist = []
for i in range(10):
varlist.append(i ** 2)
print('普通函数完成',varlist)

# 运行结果:
# map和list完成[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
# 普通函数完成 [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

# 下面是列表推导式 和第二中普通方法一样
varlist = [i **2 for i in range(10)]
print('列表推导式',varlist)

# '1234' =>[2,4,6,8] 练习题
varstr ='1234'
newlist = [int(i)*2 for i in varstr]
newlist = [print(int(i)*2) for i in varstr]
# 运行结果
# print(newlist)
# 2
# 4
# 6
# 8
# 还可以用位运算
newlist = [int(i)<<1 for i in varstr] #0001 =>0010
print('位运算',newlist)
# 结果:
# 位运算 [2, 4, 6, 8]
'''

二 带有判断条件的列表推导式
变量 = [变量或变量的处理结果 for 变量 in 容器类型数据 条件表达式]
'''
varlist = []
for i in range(10):
if i%2 ==0:
varlist.append(i)
print(varlist)

newlist = [i for i in range(10) if i%2==0]
newlist = [i**2 for i in range(10) if i%2==0]
print(newlist)

# [0, 2, 4, 6, 8]
# [0, 2, 4, 6, 8]

'''
三 带有多循环的推导式
'''
s1 = [1,2,3]
s2= [3,1,4]
listnew = [(i,j)for i in s1 for j in s2 if i != j ]
print(listnew)
# 运行结果
# [(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]

标签:10,推导,varlist,newlist,数据类型,第七集,list,range,print
来源: https://www.cnblogs.com/cyz-2020/p/15941536.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有