我有一个字典-
a = {'b': [1,2,3], 'c':[4,5,6]}
我想只使用列表推导式来实现以下输出-
[['c', 4], ['c', 5], ['c', 6], ['b', 1], ['b', 2], ['b', 3]]
使用简单的for循环即可完成 -
x = []
for k, v in a.iteritems():
for i in v:
x.append([k, i])
尝试将其转换为列表推导式,我做了这个 -
[[k,i] for i in v for k, v in a.items()]
但是对我来说很奇怪,我得到了一个输出。
[['c', 1], ['b', 1], ['c', 2], ['b', 2], ['c', 3], ['b', 3]]
什么是正确的列表推导式,为什么我的列表推导式不起作用?
a.items()
的右侧而不是左侧? - Sushanti
在第二个循环中被使用。嵌套的列表推导式很难阅读,因此最好避免使用。 - Mohit Solanki