理解:舊的列表通過相應的邏輯生成新的列表。
列表推導式:格式:[表示式 for 變數 in 舊列表] 或者[表示式 for 變數 in 舊列表 if 條件]
過濾掉長度小於或者等於3的人名。
names =
['tom','jason','jack','ha','hey','lilala'
]result =
[name for name in names if len(name)
>3]
#第乙個name表示對name if操作!
print(result)
過濾掉長度小於或者等於3的人名,並且人名的第乙個首字母大寫。
names =
['tom','jason','jack','ha','hey','lilala'
]result =
[name.capitalize(
)for name in names if len(name)
>3]
#第乙個name表示對name if操作!
print(result)'''
#等效於
def func(names):
newlist =
for name in names:
name = name.title()
return newlist
'''
注:第乙個name表示對name if操作!
將1-100之間能被3整除,組成乙個新的列表
newlist =
[i for i in range(1,101)
if i%3 == 0]
print(newlist)
0~5 偶數 0~10奇數。輸出如:[(偶數,奇數),(),(),(),()] [(0,1),(0,3),(0,5),(0,7),(0,9),(2,1),(2,3),…]
newlist =
[(x,y)
for x in range(5)
if x %2 ==0 for y in range(10)
if y % 2 !=0]
print(newlist)
薪資大於5000加200,低於或等於5000加500
dict1 =
dict2 =
dict3 =
dict4 =
list1 =
[dict1,dict2,dict3,dict4]
#if薪資大於5000加200,低於等於5000加500
newlist =
[employee[
'salary'
] + 200 if employee[
'salary'
]> 5000 else employee[
'salary'
] + 500 for employee in list1]
print(newlist)
python 理解列表推導式以及列表推導式巢狀
所謂列表推導式,就是將乙個可迭代的列表遍歷,將每次遍歷的元素拿出來進行一些操作,並用乙個 括起來,組成乙個新的列表 expression for i in item if condition expression 就是對每乙個元素的具體操作表示式 item是某個可迭代物件的元素,如列表,元組或字串等...
python中的列表推導式
類似於這樣 x for x in range 101 x for x in range 10 if x 2 0 x y for x in range 10 for y in range 10 式子,就叫做列表推導式 列表推導式的好處就是能快速生成列表 列表推導式的好處就是浪費記憶體 空間複雜度太大 ...
python中的列表推導式
python裡面有個很棒的語法糖 syntactic sugar 它就是list comprehension,有人把它翻譯成 列表推導式 也有人翻譯成 列表解析式 名字聽上去很難理解,但是看它的語法就很清晰了。雖然名字叫做 list comprehension,但是這個語法同樣適用於dict set...