python - 有没有更轻量级的方法来获取可变长度的元组?

标签 python python-2.7

我需要想出一个元组,其中包含一个值,后跟一些 None 值。 None 值的数量仅在运行时才知道。以下代码通过创建列表来完成工作:

def get_padded_tuple(self, value, tuple_length):
    if tuple_length>0:
        ret = [value] + [None]*(tuple_length - 1)
        return tuple(ret)
    raise IndexError('Tuple Length Not Supported', tuple_length)

def test_get_padded_tuple(self):
    pprint(self.get_padded_tuple('a', 1))
    pprint(self.get_padded_tuple('a', 5))

是否有更有效的方法,无需创建列表的开销?

编辑:我有一个模块,它采用元组的时间序列(日期、值1、值2等)并添加缺失的日期(日期、无,...) - 这本质上是左外连接之类的东西。不同的时间序列具有不同长度的元素,这就是为什么我想使用与时间序列中的元素长度相同的元组,如果有一种轻量级的方法来实现这一点 - 否则我可以只使用列表。

最佳答案

return (value,) + (None,) * (tuple_length - 1)

return tuple(None if i else value for i in xrange(tuple_length))

return tuple([value, None][i > 0] for i in xrange(tuple_length))

关于python - 有没有更轻量级的方法来获取可变长度的元组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28323196/

相关文章:

python - __iter__ 方法中返回 self 有什么用?

python - 如何减少获取帧时的CPU使用率

用于函数子段的 Python 装饰器

python - Pandas 数据框申请

python - 使用带有 beautifulsoup 的 python 2.7 在 html 页面中标记的位置

python - 按照 init 中显示的顺序表示一个类,无需硬编码

list - 如何计算Python中零的数量?

Python 套接字 : AttributeError: __exit__

python - AppEngine 文档推荐命令行标志而不是 app.yaml 文件元素

Python Xlsxwriter 无法正常工作