Python 列表推導

2021-06-22 00:03:54 字數 1116 閱讀 2238

1.正常情況下,我們這樣來遍歷列表

numbers = range(10)

size = len(numbers)

evens =

i = 0

while i < size:

if i % 2 == 0:

i += 1

for f in evens:

print (f)

2.當然可以用更簡單的python支援的列表推導

[i for i in range(10) if i % 2 == 0]

for f in evens:

print (f)

怎講將["one","two","three"] =>["0:one","1:two","2:three"]呢?

1.正常情況下,可能以開始會想到:

i  = 0

seq = ["one","two","three"]

for element in seq:

seq[i] = '%d:%s' % (i,seq[i])

i += 1

for f in seq:

print (f)

2.其實可以用enumerate

seq = ["one","two","three"]

for i,element in enumerate(seq):

seq[i] = '%d:%s' % (i,seq[i])

for f in seq:

print (f)

3.當然可以用乙個方法+enumerate

def _treatment(pos,element):

return '%d:%s' % (pos,element)

seq = ["one","two","three"]

seq = [_treatment(i, el) for i,el in enumerate(seq)]

for f in seq:

print (f)



python 列表推導

內容 於 head first python 書籍 列表推導 list comprehension 一般列表轉換,都是用for 命令迭代列表中的每乙個資料,而 列表推導可以簡化從乙個列表轉換為另乙個列表的 例子,現在有兩個檔案 james.txt julie.txt 列印結果並排序 james.tx...

python列表推導

表示式 for 變數 in 列表 或者 表示式 for 變數 in 列表 if 條件 li 1,2,3,4,5,6,7,8,9 print x 2 for x in li print x 2 for x in li if x 5 print dict x,x 10 for x in li print...

Python 列表推導

start 列表推導用來構造乙個列表,可以包含表示式,for 和 if 表示式。假設我們要生成 0 到 9 的數字列表該怎麼辦呢?很簡單,看看下面的 吧。my list list range 10 那我們要生成 0 到 9 的 2 次方列表該怎麼辦呢?也不難,可以這麼寫。my list for i ...