我試圖通過字典來簡化嵌套for循環來建立一個唯一值(房間大小是嵌套字典值中的列表)的列表。我已經將代碼縮減到了4行,但很好奇它是否可以以任何方式通過列表理解減少到1行。簡化嵌套循環的理解
這是一個例子Python字典:
otas = {
Orbitz: {
u'Las Vegas': [u'1 Bedroom Suite B-side']
},
Expedia: {
u'Los Angeles': [u'2 Bedroom Lockoff', u'1 Bedroom Deluxe (A-side)', u'3 Bedroom Deluxe']
},
Priceline: {
u'New York': [u'1 Bedroom Deluxe (A-side)']
},
Travelocity: {
u'Chicago': [u'1 Bedroom Deluxe (A-side)', u'2 Bedroom Lockoff']
}
}
這是四行代碼:
rooms = []
for resort in otas.values():
for room in resort.values():
rooms += [r for r in room if r not in rooms]
我知道沒有什麼錯與目前我做的方式它。如果可以完成,我大多很好奇。
偉大的答案!我沒有意識到可以用Python做到這一點。 – Ashalynd 2015-04-03 20:00:18