對於新手來說,生成乙個新的列表,他可能會使用for 迴圈,但是for迴圈一般來說是要少用的(因為比較慢),那麼如何不使用for迴圈生成乙個新的列表呢?那就需要用到列表表示式了,例子如下:
#生成乙個從0到9的列表
a=[x for x in
range(10
)]print
(a)>>
>>[0
,1,2
,3,4
,5,6
,7,8
,9]
如果生成的列表每乙個元素是二元的呢?
a=
[(x,y)
for x in
range(3
)for y in
range(3
)]print
(a)>>
>>[(
0,0)
,(0,
1),(
0,2)
,(1,
0),(
1,1)
,(1,
2),(
2,0)
,(2,
1),(
2,2)
]
這樣會生成3*3=9個元素
如果是需要從list1中選擇部分資料生成list2呢?只需要在列表表示式裡面加乙個if條件
list1=
[x for x in
range(10
)]list2=
[x for x in list1 if x<5]
print
(list2)
>>
>>[0
,1,2
,3,4
]
當然,元素是二元時也可以篩選
list1=
[(x,y)
for x in
range(3
)for y in
range(3
)]list2=
[(x,y)
for x in
range(3
)for y in
range(3
)if x<
1and y<2]
print
(list2)
>>
>>[(
0,0)
,(0,
1)]
python列表表示式
將兩個列表中不相等的元素組合起來的不同寫法 list 1 x,y for x in 1 2,3 for y in 3 1,4 if x y print list 1 等價於 list 1 for x in 1 2,3 for y in 3 1,4 if x y x,y print list 1 注意...
python列表表示式
expression for i in iterable if condition expression 就是對每乙個元素的具體操作表示式 iterable是某個可迭代物件,如列表,元組或字串等 if condition 是對每乙個元素做分支判斷,如果條件符合,則expression操作對應的元素....
公用表表示式
公用表表示式 common table expressions 假設我們有乙個100w條資料的訂單表,需要分頁查詢。declare rownumber asint,pagenumber asint set rownumber 5 set pagenumber 2 with orderedorders...