0
点赞
收藏
分享

微信扫一扫

Python基础- Python推导式

妖妖妈 2022-03-24 阅读 33
python

列表推导式

[out_exp_res for out_exp in input_list]
[out_exp_res for out_exp in input_list if condition]

# 过滤掉长度小于或等于3的字符串列表,并将剩下的转换成大写字母
names = ['Bob','Tom','alice','Jerry','Wendy','Smith']
new_names = [name.upper() for name in names if len(name) > 3]
print(new_names)
# 计算 30 以内可以被 3 整除的整数
int_numbers = [name for number in range(30) if number % 3 == 0]
print(int_numbers)

字典推导式

{ key_expr: value_expr for value in collection }
{ key_expr: value_expr for value in collection if condition }

listdemo = ['Google','Runoob', 'Taobao']
# 将列表中各字符串值为键,各字符串的长度为值,组成键值对
new_dict = {newKey: len(newKey) for newKey in listdemo}
print(new_list)
# 提供三个数字,以三个数字为键,三个数字的平方为值来创建字典:
new_dict = {number: number ** 2 for number in [2, 9, 10]}
print(new_dict)

集合推导式

{ expression for item in Sequence }

{ expression for item in Sequence if conditional }

# 计算数字 1,2,3 的平方数:
square = {i ** 2 for i in (1, 2, 3)}
print(square)
# 判断不是 abc 的字母并输出:
text = {item for item in 'ahklebchhloprwmvz' if item not in 'abc'}
print(text)

元组推导式

(expression for item in Sequence )

(expression for item in Sequence if conditional )

# 生成一个包含数字 1~9 的元组
numbers = (number for number in range(1, 10))
print(numbers)
print(tuple(numbers))
举报

相关推荐

0 条评论