函數進階-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循環某可迭代對象獲取的數據類型對象

相關文章
相關標籤/搜索