我有一个元组列表。我想用一个名为 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/