Python中列表推導式

2021-10-04 01:38:01 字數 1605 閱讀 8946

理解:舊的列表通過相應的邏輯生成新的列表

列表推導式:格式:[表示式 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...