列表推導式

2021-09-26 16:11:44 字數 889 閱讀 7684

#0-9的平方,輸出為列表

list1=[x**2 for x in range(10)]#range(10)是0-9

print(list1)

#結果為[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

使用for迴圈完成

#0-9的平方,輸出為列表

list1=

for i in range(10):

print(list1)

#結果為[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

可以看出使用列表推導式用更少**來實現同樣的操作!

def f1(x):

return x**2

a = [f1(i) for i in range(10) ]

print (a)

# 結果為: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

在看乙個列子:用1 2 3 4這4個數可以組成多少個三位數,分別是多少?

#用1 2 3 4這4個數可以組成多少個互不相同且無重複的三位數,分別是多少?

list1=[100*x+10*y+z for x in range(1,5) for y in range(x,5) for z in range(1,5) if x!=y and y!=z and x!=z]

print(list1)

#結果為[123, 124, 132, 134, 142, 143, 231, 234, 241, 243, 341, 342]

#推導式中可以有多個for

列表推導式

1.先判斷再賦值 a 5 b 6 c a b print c false 列表組合 list1 1,2,3 list2 4,5,6 list3 list1 list2 print list3 一行 方括號中是對字串的切片 後邊有個or 為從左到右,取第乙個為真的值,如果or左側為非空字串,就是用or...

列表推導式

expr for val in collection if condition 滿足condition條件就把val加入到列表中 這個列表推導式等價於下面這個多行 生成的a陣列就和這個列表推導式生成的東西一模一樣 a for val in collection if condition 備註 利用列...

列表推導式

列表生成式 列表生成式即list comprehensions,是python內建的非常簡單卻強大的可以用來建立list的生成式。舉個例子,要生成list 1,2,3,4,5,6,7,8,9,10 可以用list range 1,11 list range 1,11 1,2,3,4,5,6,7,8,...