我有一個(gè)元組列表。我想index=1用一個(gè)名為的類包裝每個(gè)元組的值,Paragraph()然后返回整個(gè)列表。description_index = 1line_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')]有沒(méi)有更快/更有效的方法來(lái)實(shí)現(xiàn)這一目標(biāo)?在此示例中,它不會(huì)花費(fèi)太長(zhǎng)時(shí)間,但如果長(zhǎng)度增加到 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我也嘗試過(guò)使用列表理解,但我不確定它會(huì)更快。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 ]
1 回答

慕容3067478
TA貢獻(xiàn)1773條經(jīng)驗(yàn) 獲得超3個(gè)贊
由于元組是不可變的(你不能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])
添加回答
舉報(bào)
0/150
提交
取消