python推导式
推导式
推导式(comprehensions),又称解析式,是 Python 中常见的语法糖。推导式可以从一个数据序列构建另一个新的数据序列,常用于数据处理场景。
语法:表达式 for 迭代变量 in 可迭代对象 [if 条件表达式]
推导式的核心为 for 循环。根据返回对象的不同,推导式可区分为列表推导式,字典推导式,结合推导式等。不同推导式在语法上基本一致
列表推导式
python列表推导式,又称列表解析式。可以用一种简明扼要的方法来创建列表
''' 列表推导式 '''
result = [i for i in range(5)] # 快速的创建列表
print(result) # [0, 1, 2, 3, 4]
# 示例1 - 过滤掉长度小于或等于3的字符串列表,并将得到的字符串转换为大写字母
names = ['Bob', 'Tom', 'alice', 'Jerry', 'Wendy', 'Smith']
new_list = [name.upper() for name in names if len(name) > 3]
print(new_list) # 输出结果 ['ALICE', 'JERRY', 'WENDY', 'SMITH']
# 示例2 - 从输入的字符串中过滤掉小于或等于3的字符串列表,将得到的字符串转换成小写字母,输入的多个字符串之间用空格隔开
new_list = [name.lower() for name in input('请输入要输入的字符串:').split() if
len(name) > 3] # 输入 TOM JACK JERRY MARY ALICE WENDY
print(new_list) # 输出 ['jack', 'jerry', 'mary', 'alice', 'wendy']
# 示例3 - 计算30以内可以被3整除的整数,对得到的数据取平方值
new_list = [x * x for x in range(31) if x % 3 == 0]
print(new_list) # [0, 9, 36, 81, 144, 225, 324, 441, 576, 729, 900]
# 示例4 - 从嵌套列表中去除偶数
list1 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]