**,內容**於 《head first python》書籍
列表推導(list comprehension) ,一般列表轉換,都是用for 命令迭代列表中的每乙個資料,而 列表推導可以簡化從乙個列表轉換為另乙個列表的**,
例子,現在有兩個檔案 james.txt ,julie.txt ,列印結果並排序
james.txt 內容 2.01,2-22,2.34,2:38,3.01,3-10,3:20
julie.txt 內容 2.22,2:11,2.23,2.59,3-21,3:22,2-13
python **:
###定義函式sanitize,用來轉換資料中的-與:
def sanitize(time_string):
if '_' in time_string:
splitter='_'
elif ':' in time_string:
splitter=':'
(mines,secs)=time_string.split(splitter)
return(mins + '.' + secs)
###開啟檔案,讀入資料
with open('james.txt') as jaf: data=jaf.readline()
james=data.strip().split(',')
with open('julie.txt') as juf: data=juf.readline()
julie=data.strip().split(',')
###定義新列表,用來儲存轉換後的資料
clean_james=
clean_julie=
###開始轉換
for each_t in james:
for each_t in julie:
###將新的列表資料,排序列印
print(sorted(clean_james))
print(sorted(clean_julie))
Python 列表推導
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 ran...
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 ...