Python:for循环中的一行扩展 代码: 输出: 期望输出

Python:for循环中的一行扩展 代码: 输出: 期望输出,python,list,for-loop,Python,List,For Loop,尝试此方法时,告诉我“list”对象没有属性“result”: 我是否可以对代码进行修改以获得一行解决方案 提前谢谢 [[0, 0], [1, 0], [2, 0], [2, 1], [3, 0], [3, 1], [1, 1], [0, 1], ...] 请参见您将tge列表作为单个列表正确获取。 print()添加额外的[]。“打印”会向对象添加对象类型 给那些刚刚用itertools.chain删除了答案的人,我会接受你的答案。最终代码: topList = [[1,2],[3,4]

尝试此方法时,告诉我“list”对象没有属性“result”:

我是否可以对代码进行修改以获得一行解决方案

提前谢谢

[[0, 0], [1, 0], [2, 0], [2, 1], [3, 0], [3, 1], [1, 1], [0, 1], ...]

请参见

您将tge列表作为单个列表正确获取。
print()添加额外的[]。“打印”会向对象添加对象类型

给那些刚刚用
itertools.chain
删除了答案的人,我会接受你的答案。最终代码:

  topList = [[1,2],[3,4]]
  flatList = [item for subList in topList for item in subList]
编辑:决定不使用@Rocky Li答案中的
itertools

list(itertools.chain(*[some_data[name]['indices'] for name in some_data.keys()]))

这是你需要的吗?例如:

some_data={'a':{'index':[[0,0],[1,1]},'b':{'index':[[2,2],[3,3]}
你想要子列表,对吗?因此,我们可以:

[e for name in some_data.keys() for e in some_data[name]['indices']]
返回:

[j for i in some_data for j in some_data[i]['indices']]

一些数据[名称]['index']
包含什么?原子值列表?我想你不需要额外的
[
]
来打印
结果应该是什么?您在错误消息中提到了它,但在您的代码中没有提到。@Nobilis
some_data[name]['index']
包含列表列表(长度2):
[0,0],[1,0],[2,0],[2,1]]
,等等:
[e代表某些_数据中的名称。key()代表某些_data[name]['index']中的e
不,这是正确的。错寄了。无法删除它。实际上
一些_数据
的格式是
{'Name1':{'indexes':[[0,0],[1,1]},'Name2':{'indexes':[[2,2],[3,3]]}
应该还可以,这不就是它的工作方式吗?如果它在实现上与@Rocky Li的评论相同,那么是的。我只是用了他的,因为它已经被改编成适合我使用的了——是的,我没有看到,我被打败了,谢谢你的帮助:)
[e for name in some_data.keys() for e in some_data[name]['indices']]
[j for i in some_data for j in some_data[i]['indices']]
[[0, 0], [1, 1], [2, 2], [3, 3]]