函数进阶-05列表推导式

一丶列表推导式

列表推导式通常和if判断用在一块儿
执行顺序:
先for循环,迭代遍历后把值进行(通常放在)后面的if判断python

[expression for item1 in iterable1 if condition1
for item2 in iterable2 if condition2
...
for itemN in iterableN if conditionN
]
#相似于
res=[]
for item1 in iterable1:
    if condition1:
        for item2 in iterable2:
            if condition2
                ...
                for itemN in iterableN:
                    if conditionN:
                        res.append(expression)
print(F"[i for i in range(10)]: {[i for i in range(10)]}")

[i for i in range(10)]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]express

print(F"[i**2 for i in range(10)]: {[i**2 for i in range(10)]}")

[i**2 for i in range(10)]: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

app

  • 相对繁杂的列表生成式列子
name_list = ['nash', 'langyigang', 'fujiachen', 'jinyi']

print(
    f"[name if name=='nash' else name+'sb' for name in name_list]: {[name if name=='nash' else name+'sb' for name in name_list]}")

[name if name=='nash' else name+'sb' for name in name_list]: ['nash', 'langyigangsb', 'fujiachensb', 'jinyisb']code

讲解:
一如既往 先执行了for循环语句 而后取到的值做用到了前面的三元表达式上,这边的if在前面属于语句结构
又能够发现新大陆 一个新格式---->
三元表达式(判断元素为后边for循环遍历元素) + for循环某可迭代对象获取的数据类型对象

相关文章
相关标签/搜索