【python】列表生成式

#/usr/bin/env python3
# -*- coding:utf-8 -*-
import os

'''
学习笔记---生成式的格式:
【公式 for x in 域 if】
1.公式:字符串型数据可以用连词符+,数值型数据可以用*
2.x
3.域:可以是函数例如下面的range,也可以是list、dict等
4.if判断条件对生成式进一步优化
4.生成式形式多样,很大程度上提高了开发效率
'''
#list生成式Comprehensions
lst_comp = list(range(1,11))
print(lst_comp)

#生成x2的for循环方法,首先生成一个空的list
lst_sqr_for = []
for x in range(1,11):
    lst_sqr_for.append(x * x)
print(lst_sqr_for)

#用列表生成式来做
lst_sqr_comp = [x*x for x in range(1,11)]
print(lst_sqr_comp)

#for循环后还可以加if
lst_sqr_comp_if = [x*x for x in range(1,11) if x % 2 == 0]
print(lst_sqr_comp_if)

#双层循环实现笛卡尔积
lst_doub = [x + y for x in('012') for y in('XYZ')]
print(lst_doub)

#扩展:列出当前目录所有的文件和目录名

lst_dir = [d for d in os.listdir('.')]
print(lst_dir)
#初学,尝试了一下,直接打印就可以,后续慢慢学,不知道哪里会出问题
print(os.listdir())

#遍历dict的值和字符串,在迭代中写过
dict_chars = {'1':'a', '2':'b', '3':'c'}
for k,v in dict_chars.items():
    print(k,'=', v)

#通过dic内的key和value生成list
dict_chars = {'1':'a', '2':'b', '3':'c'}
lst_dict = [k +'='+ v for k,v in dict_chars.items() ]
print(lst_dict)

#将大写字母转换为小写
lst_upper = ['aB', 'cD', 'Ef']
lst_lower = [s.lower() for s in lst_upper]
print(lst_lower)

#练习
lst_introduce = ['Hello,','I\'m',18,'years old.']
print(lst_introduce)

lst_introduce_lower = [x.lower() for x in lst_introduce if isinstance(x,str)]
print(lst_introduce_lower)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值