【问题标题】:Is there a way to create a tuple in Python with a lenght 'n' given by a list.?有没有办法在 Python 中创建一个由列表给出的长度为“n”的元组。?
【发布时间】:2020-01-13 15:33:45
【问题描述】:

在我的例子中,我有一个资产列表,我想创建一个元组 (0,1.0) 来为每个资产定义一个约束。如果我有 3 个资产,我可以通过以下方式创建元组:

bounds = ((0,1.0),(0,1.0),(0,1.0)) 

如果我有 1000 个资产,我该如何自动化这个过程?

【问题讨论】:

标签: python


【解决方案1】:

使用生成器表达式。

bounds = tuple((0, 1.0) for _ in range(1000))

如果您已经有其他一些非元组可迭代约束,只需将其传递给tuple

bounds = tuple(the_constraints)

【讨论】:

    【解决方案2】:

    由于元组是不可变的,你可以使用乘法来创建 1000 个相同的元组

    bounds = ((0, 1.0),)*1000
    

    (注意:不要对list 类型执行此操作,因为它只是复制了引用)

    【讨论】:

      【解决方案3】:

      如果资产列表是列表列表,那么只需将元组映射到它们:

      tuple(map(tuple, asset_list))
      

      【讨论】:

        猜你喜欢
        • 2018-08-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-16
        • 2022-06-10
        相关资源
        最近更新 更多