我是Python新手,來自Java背景。我想知道寫這個代碼的最Python的方式:將字符串列表追加到數組的Python方法
entry_list = []
for entry in feed.entry:
entry_list.append(entry.title.text)
基本上是在飼料中每一個元素,我想該元素的標題添加到列表中。
我不知道我是否應該使用地圖()或lambda函數或什麼...
感謝
我是Python新手,來自Java背景。我想知道寫這個代碼的最Python的方式:將字符串列表追加到數組的Python方法
entry_list = []
for entry in feed.entry:
entry_list.append(entry.title.text)
基本上是在飼料中每一個元素,我想該元素的標題添加到列表中。
我不知道我是否應該使用地圖()或lambda函數或什麼...
感謝
最Python的代碼,我能想到的:
entry_list = [entry.title.text for entry in feed.entry]
這是一個list comprehension這將構建一個新的列表出feed.entry.title.text元素。
要追加,你需要做的事:
entry_list.extend([entry.title.text for entry in feed.entry])
作爲一個側面說明,在做擴展業務時,常快generator expression比列表理解慢得多。
始終使用列表理解爲簡潔的表達式。
entry_list = [entry.title.text for entry in feed.entry]
如果所有要與entry_list要做的就是再次遍歷它,你可以使用發電機表達
entry_list = (entry.title.text for entry in feed.entry)
注意,唯一的區別是使用括號。當使用生成器格式時,entry_list沒有被填充並且可以保存內存。您將仍然能夠做的事情一樣
for items in entry_list:
do something
和
''.join(entry_list)
也很好,讓我知道。謝謝! – Cuga
http://docs.python.org/howto/functional.html - 快樂編碼。 – 2011-11-03 04:24:26
@pst根本沒有任何幫助。我知道如何以多種方式編寫代碼,我正在尋求其他人的建議,以獲得最佳方式。 – Cuga
我可以發誓,它涵蓋了以下所有方法 - 特別是列表解析;-) – 2011-11-05 18:05:50