【问题标题】:How to separate a tuple with 2 parts into separate lists?如何将具有 2 个部分的元组分成单独的列表?
【发布时间】:2016-01-21 17:55:10
【问题描述】:

所以我有一个包含两个列表的元组:

x = (['a', 's', 'd'], ['1', '2', '3'])

如何将其分成两个列表?现在我的代码基本上是这样的:

list1.append(x[1])
list1.append(x[2])
list1.append(x[3])

但我无法将其他 3 个项目添加到索引为 4、5 和 6 的单独列表中:

list2.append(x[4])
list2.append(x[5])      -results in an error
list2.append(x[6])

我怎样才能做上面的list2?

【问题讨论】:

  • list1, list2 = x?请注意,顺便说一下,Python 索引是从零开始的
  • list1.append(x[2]) 已经抛出错误,因为x 只有索引01
  • @kasramvd:这个问题和那个欺骗目标有什么关系?
  • 很清楚。在这两个问题中,OP 都希望将可迭代的项目分配给单独的变量。我想知道你为什么重新打开这个问题。我敢肯定这不是因为你对问题的回答,但如果你能说出原因,我将不胜感激。
  • @Kasramvd:我已经在 Python 聊天室回复了你。

标签: python list python-3.x append tuples


【解决方案1】:

你的元组只有两个元素。直接引用那些:

list1 = x[0]
list2 = x[1]

list1, list2 = x

这会为x 中包含的两个列表创建附加引用不是复制。如果您需要 new 具有相同内容的列表对象,请创建副本:

list1, list2 = x[0][:], x[1][:]

How to clone or copy a list?

【讨论】:

  • 谢谢!我还是新手,所以我自动尝试附加索引 1、2 和 3,这给了我 list1 的正确答案,但不适用于 list2
  • @S.Martin: 但你没有 have 并在你的元组中索引2,正如问题中所定义的那样。如果这些索引有效,那么 x 是一个不同的对象,你问错了问题。
猜你喜欢
  • 1970-01-01
  • 2023-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-12
  • 1970-01-01
相关资源
最近更新 更多