尝试使用列表理解创建dict时(不覆盖生成的列表键)
x = {}
entries = [[1,'1a'], [2,'2a'], [3,'3a'], ['1', '1b'], ['2', '2b'], ['3', '3b']]
discardable = [x.setdefault(entry[0], []).append(entry[1]) for entry in entries]
Error: name 'x' is not defined
我希望x将填充为:
{1: ['1a', '1b'], 2: ['2a', '2b'], 3: ['3a', '3b']}
如何解释这一点/使其发挥作用? 有没有其他方法可以做到这一点
您可以尝试:
输出
您需要合并(1,'1')、(2,'2')、(3,'3')的值。您提供的代码可以工作,但它不处理
int
和str
之间的类型。您所需要做的就是将str
强制转换为int
,以便合并该值试试这个:
有些键是
str
,有些是int
,因此这将产生您需要将
entry[0]
强制转换为int
print(x)
将给出相关问题 更多 >
编程相关推荐