首页 > 解决方案 > 通过更改括号的括号和括号的括号来重新定义列表

问题描述

如何将列表内的方括号转换为括号,将方括号外的括号转换为方括号?

例子:

Lst=[([(1,2)],[(1,2),(1,3)]),([(1,4)],[(1,4),(2,3)])]

我最希望拥有的是:

Lst=[[((1,2)),((1,2),(1,3))],[((1,4)),((1,4),(2,3))]]

因为您可能会注意到,原始列表中的括号包含两对括号,但我希望它反过来,括号包含两对括号。

标签: python-3.xlisttuplesparenthesesbrackets

解决方案


您正在尝试将内部转换listtuple和外部转换tuplelist. 您可以通过列表理解来做到这一点。

In [1]: Lst=[([(1,2)],[(1,2),(1,3)]),([(1,4)],[(1,4),(2,3)])]

In [2]: [list(tuple(k) for k in x) for x in (y for y in Lst)]
Out[2]: [[((1, 2),), ((1, 2), (1, 3))], [((1, 4),), ((1, 4), (2, 3))]]

推荐阅读