【问题标题】:How to change list of tuples to same tuples? [python]如何将元组列表更改为相同的元组? [Python]
【发布时间】:2021-05-08 19:22:46
【问题描述】:

我有这样的列表:

l = [("a"), ("b"), ("c")]

我需要:

l = ("a"), ("b"), ("c")

有人知道一些合理的快速方法吗?

【问题讨论】:

  • 相同的元组是什么意思?
  • 所以你想把一个字符串列表变成一个字符串元组?
  • 只是tuple([("a"), ("b"), ("c")])把字符串列表变成字符串元组。
  • @DarrylG 那行不通。 ('a', 'b', 'c')
  • @BuddyBob -- 为什么不呢? l = ("a"), ("b"), ("c"); ll = tuple([("a"), ("b"), ("c")]) 那么l == ll 为真。

标签: python list tuples


【解决方案1】:

你说你有一个元组列表。您显示的实际上并不是元组列表。这是一个字符串列表:

>>> [("a"), ("b"), ("c")]
['a', 'b', 'c']
>>> type(("a"))
<class 'str'>

我想你的意思是l = [("a",), ("b",), ("c",)]。这是一个元组列表。

要将您的元组列表更改为元组的元组,您只需执行以下操作:

>>> tuple(l)
(('a',), ('b',), ('c',))

编辑 - 请注意,以下文字语法:

l = ("a",), ("b",), ("c",)

是元组的元组。

【讨论】:

  • 这将是最接近 OP 所需的输出。
【解决方案2】:

你说你想要

>>> want = ("a"), ("b"), ("c")
>>> want
('a', 'b', 'c')

你说你有

>>> have = [("a"), ("b"), ("c")]
>>> have
['a', 'b', 'c']

使用tuple(),从你所拥有的中得到你想要的:

>>> tuple(have)
('a', 'b', 'c')
>>> tuple(have) == want
True

【讨论】:

    【解决方案3】:

    如果你想将字符串列表变成字符串元组,只需使用 tuple()

    >>> l = [("a"), ("b"), ("c")]
    >>> l
    ['a', 'b', 'c']
    >>> 
    >>> tuple(l)
    ('a', 'b', 'c')
    

    【讨论】:

      【解决方案4】:

      这是你的意思吗?

      l = [(1,2),(2,3),(3,4)]
      a,b,c = l
      # now a = (1,2), b = (2,3), c = (3,4)
      

      否则其他答案应该可以帮助您。您可能还想查看* 运算符(“解包”一个列表,例如[*l,(4,5)] == [(1,2),(2,3),(3,4),(4,5)])。

      无论哪种方式,您都可能希望针对您打算发布的任何其他问题改进措辞。给出你想要什么、你尝试了什么以及产生了什么(意想不到的)影响的具体例子。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-02-01
        • 2021-11-18
        • 2011-07-27
        • 1970-01-01
        • 2021-12-14
        • 2013-03-08
        • 2017-07-30
        • 1970-01-01
        相关资源
        最近更新 更多