将元组列表更改为python中的列表列表

时间:2014-05-19 07:36:42

标签: python list tuples

我有一个元组列表(a)我想要更改为列表列表(b)。

a = [('ad','as'),('bs','bt'),('cs','cr')]
b = [['ad','as'],['bs','bt'],['cs','cr']]

我尝试了下面的代码,但它没有改变任何东西。我错过了什么吗?

b = []
for element in a:
    b.append(list(element))

4 个答案:

答案 0 :(得分:2)

您可以尝试使用更短的解决方案,例如:

b = map(list,a)

这会通过将list函数应用于'a'的每个元素来生成新列表。

此地图相当于使用理解列表的相对较长的代码:

  b = [ list(x) for x in a]

答案 1 :(得分:0)

a = [('ad','as'),('bs','bt'),('cs','cr')]
b = [[elem[0], elem[1]] for elem in a]

答案 2 :(得分:0)

>>>a = [('ad','as'),('bs','bt'),('cs','cr')]
>>>b = [list(item) for item in a]
>>>b
[['ad', 'as'], ['bs', 'bt'], ['cs', 'cr']]

答案 3 :(得分:-1)

a = [('ad','as'),('bs','bt'),('cs','cr')]
b = []
for element in a:
    b.append(list(element))
print(b)

显示b现在是所需的列表列表 - 因此您的代码工作正常......

AND:当然,如果你真的定义了b,那么它就不会改变,因为你的例子中显示了:{/ p>

  1. 您首先定义所需的
  2. 您创建一个新列表(空)并将其标记为b
  3. 您使用所需的值填充此列表。
  4. - >新的b与旧的b相同 - 因此即使您的代码有效,也没有可见的更改。

    如果您想再次添加元组元素,只需删除b = []行。