我需要在python中創建一個2D點列表(x,y)。 這將做到這一點在Python中創建一個2D點列表的更優雅的方法
l = []
for x in range (30,50,5):
for y in range (1,10,3):
l.append((x,y))
所以:print l
會產生:
[(30, 1), (30, 4), (30, 7), (35, 1), (35, 4), (35, 7), (40, 1), (40, 4), (40, 7), (45, 1), (45, 4), (45, 7)]
是否有這樣做的更優雅的方式?
如果您只是將其轉換爲列表,則不需要使用生成器表達式。 – Dikei 2012-03-15 04:59:35
@srgerg:出於好奇 - 爲什麼要將生成器表達式傳遞給'list()'而不是使用列表理解? – 2012-03-15 05:00:10
根據我的回答中所鏈接的python文檔「生成器表達式...往往比等效的列表解析更具內存友好性」。 – srgerg 2012-03-15 05:03:41