Python 在列表列表中的特定索引处用类包装并返回整个列表

标签 python list tuples

我有一个元组列表。我想用一个名为 Paragraph() 的类包装 index=1 处每个元组的值,然后返回整个列表。

description_index = 1
line_data = [
    ('1', 'PRODUCT 1<br/>new line', '1.00 pc', '1.00', '2,000.00', '2,000.00'), 
    ('100000', 'PRODUCT 2', '1.00 pc', '20.00', '5.00', '100.00')
]

有没有更快/更有效的方法来实现这一目标?在此示例中,不需要太长的时间,但如果长度增加到 1000 并且 description_index=100 会怎样。

def wrap_with_paragraph(line_data):
    new_line_data = []
    for line in line_data:
        new_line_data.append([
            line[0],
            Paragraph(line[1]),
            line[2],
            line[3],
            line[5],
        ])
    return new_line_data

我也尝试过使用列表理解,但我不确定它会更快。

def wrap_with_paragraph(line_data):
    return [
        [Paragraph(x) if i == 1 else x for i, x in enumerate(l)]
        for l in line_data
    ]

最佳答案

由于元组是不可变的(您不能l[i] = P(l[i])),因此您可以使用元组切片:

def wrap_with_paragraph(line_data, i):
    return line_data[:i] + (Paragraph(line_data[i]),) + line_data[i + 1:]a[i])

关于Python 在列表列表中的特定索引处用类包装并返回整个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57857678/

相关文章:

python - 当元组中只有一个列表时,为什么元组的类型是列表?

list - Haskell:在列表和元组之间

python - "Undirected"元组比较

python - 我如何根据其他字段值更改 OpenERP 选择字段中的选项?

python - 如果所有值都是某个字符串,则删除 pandas 数据框中的列

java - 在 Java 中递归创建 Hashmap

python - 从列表框项中获取文本

python - 如何在列表中查找特定项目并使用该项目执行操作

python - 返回字符串的中间部分

python - 如何按照链接列表从 scrapy 的页面获取数据?