Python教程

Python : 推导式

本文主要是介绍Python : 推导式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.列表推导式

        1.1创建一个列表:1-10的平方

普通做法:

list_data = []
for i in range(1, 11):
    list_data.append(i * i)

print(list_data)

        

使用‘列表推导式:

list_data = [i * i for i in range(1, 11)]
print(list_data)

列表推导式的表达式:

表达式;
       [for  临时变量  in iterable 过滤]

        1.2

# color: red, blue, black # 列表
# size: S, M, L #列表
# (red, S), (red, M),(red, L), (blue, S)....(black, L)

color = ["red", "blue", "black"]
size = ["S", "M", "L"]

clothes_list = [(i, j) for i in color for j in size]
print(clothes_list)
# [(i, j) for i in color for j in size]
# 结果是一个列表:[]
# 列表中每一个元素的结构:(color, size)
# 类似嵌套循环
# for i in color # 每次拿到一个i —> red
                 # 内层循环执行三次
#    for j in size  # 每次拿到一个j -> S j-> M , j-> L

输出:

         1.3从[1-10]中过滤出奇数

# [1-10] => 里边过滤出奇数
list_data = []
for i in range(1, 11):
    if i % 2 != 0:
        list_data.append(i)
print(list_data)

# [表达式 for 临时变量 in iterable 过滤]
list_data = [i for i in range(1, 11) if i % 2 != 0]
print(list_data)

输出:

 1.1.4if else

# if else表达式
# value1 if condtion else value2
# 如果条件为真 返回value1,如果条件为假,返回value2
test = 5
data = "奇数" if test % 2 else "偶数"
print(data)

list_data = [i if i % 2 else 0 for i in range(1, 11)]
print(list_data)

输出:

 2.字典推导式

 字典推导式 {key: value}
#[表达式:表达式 for 临时变量 in iterable 过滤]
dict_data = {i * i: i * i * i for i in [1, 2, 3]}
print(dict_data)

输出:

 

这篇关于Python : 推导式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!