創建的元組此dictionary
:Python的 - 從給出的列表
sql_playlists={
'user1':{'Karma Police':1.0,'Roxanne':1.0,'Sonnet':1.0,'We Will Rock You':1.0,'Song 1': 1.0},
'user2':{'Karma Police':1.0,'Roxanne':1.0,'Sonnet':1.0,'We Will Rock You':1.0,'Song 2': 1.0},
'user3':{'Karma Police':1.0,'Roxanne':1.0,'Sonnet':1.0,'We Will Rock You':1.0,'Song 3': 1.0},
'user4':{'Karma Police':1.0,'Roxanne':1.0,'Sonnet':1.0,'We Will Rock You':1.0,'Song 4': 1.0},
'user5':{'Karma Police':1.0,'Roxanne':1.0,'Sonnet':1.0,'We Will Rock You':1.0,'Song 4': 1.0}}
我可以創建數據的keys
和values
元組是這樣的:
sqltuples = [(k1,k2,v2) for k1,v1 in sql_playlists.items()
for k2,v2 in v1.items()]
,輸出:
[(u'user1', u'Make You Feel My Love', 1.0), (u'user1', u'I See Fire', 1.0), (u'user', u'High And Dry', 1.0), (u'user1', u'Fake Plastic Trees', 1.0), (u'user1', u'One', 1.0), (u'user1', u'Goodbye My Lover', 1.0), (u'user1', u'No Surprises', 1.0)]
爲每個用戶。
但是如果sql_playlist
是list
,但數據結構相同但在[]
之內,而不是dictionary
?
編輯:列表
sql_playlists=[{
'user1':{'Karma Police':1.0,'Roxanne':1.0,'Sonnet':1.0,'We Will Rock You':1.0,'Song 1': 1.0},
'user2':{'Karma Police':1.0,'Roxanne':1.0,'Sonnet':1.0,'We Will Rock You':1.0,'Song 2': 1.0},
'user3':{'Karma Police':1.0,'Roxanne':1.0,'Sonnet':1.0,'We Will Rock You':1.0,'Song 3': 1.0},
'user4':{'Karma Police':1.0,'Roxanne':1.0,'Sonnet':1.0,'We Will Rock You':1.0,'Song 4': 1.0},
'user5':{'Karma Police':1.0,'Roxanne':1.0,'Sonnet':1.0,'We Will Rock You':1.0,'Song 4': 1.0}}]
我怎麼適應,以便產生從列表中相同tuples
的list comprehension
?
這個工程的第一個用戶:
sqltuples = [(k1,k2,v2) for k1,v1 in sql_playlists[0].items()
for k2,v2 in v1.items()]
,但我想對所有用戶。
你可以顯示列表顯示的內容嗎? –
@PaulRooney我爲你編輯了它 –
你的第二個代碼示例產生與第一個相同的輸出。唯一的區別是整個事情被包裹在一個列表中。所以'sql_playlists [0]'可以讓你看到完全相同的字典對象。 –