列表生成器

‘’’
演示列表生成式的使用:

格式:
[expr for ver1,[ver2] in 序列对象(str、list、tuple、set、dict、range)]
‘’’
#需求1:生成元素为1~10的列表
#方式一:不使用列表生成式的方式
lt = list(range(1,11))
print(lt)
#方式二:使用列表生成式的方式
lt1 = [x for x in range(1,11)]
print(lt1)

#需求2:生成元素为11,22,33,…,1010的列表
#方式一:不使用列表生成式的方式
lt2 = []
for i in range(1,11):
lt2.append(i ** 2)
print(lt2)
#方式二:使用列表生成式的方式
print([x ** 2 for x in range(1,11)])

#需求3:生成元素为11,22,33,…,1010的列表,但是最终值需要保留偶数的乘积值到列表中
#方式一:不使用列表生成式的方式
lt3 = []
for i in range(1,11):
if i % 2 == 0:
lt3.append(i ** 2)
print(lt3)
#方式二:使用列表生成式的方式
print([x ** 2 for x in range(1,11) if x % 2 == 0])

#需求4:实现全排列
str1 = ‘XYZ’
str2 = ‘ABC’
#方式一:不使用列表生成式的方式
lt4 = []
for i in str1:
for j in str2:
lt4.append(i + j)
print(lt4)
#方式二:使用列表生成式的方式
print([x + y for x in str1 for y in str2])

#需求5:将字典对象中的键值对组成分别得到(封装为一个元素)给到列表对象,最终返回列表对象
#效果:[‘aa=AA’,‘bb=BB’,‘cc=CC’]
dic1 = {‘aa’:‘AA’, ‘bb’:‘BB’, ‘cc’:‘CC’}
#方式一:不使用列表生成式的方式
lt5 = []
for k,v in dic1.items():
lt5.append(k + ‘=’ + v)
print(lt5)
#方式二:使用列表生成式的方式
print([k + ‘=’ + v for k,v in dic1.items()])

#需求6:将lt6列表中的所有元素的内容变为全小写,放入到一个列表中返回
lt6 = [‘PYTHON’, ‘Java’, ‘PHP’, ‘Sql’]
#方式一:不使用列表生成式的方式
lt7 = []
for i in lt6:
lt7.append(i.lower())
print(lt7)
#方式二:使用列表生成式的方式
print([x.lower() for x in lt6])

#需求7:将lt8列表中的所有元素的内容变为全小写,放入到一个列表中返回
lt8 = [‘PYTHON’, ‘Java’, ‘PHP’, ‘Sql’, 100]
‘’’
如果列表对象中存在非字符串元素,那么一旦调用lower()函数直接报错:AttributeError
原因是其它数据类型没有lower()函数,如何避免问题的产生?
使用内置函数isinstance(ver,type)
‘’’
print([x.lower() for x in lt8])
print([x.lower() for x in lt8 if isinstance(x,str)])

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值