python - Python 用列表中特定索引处的类包装并返回整个列表
问题描述
我有一个元组列表。我想index=1
用一个名为的类包装每个元组的值,Paragraph()
然后返回整个列表。
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])
推荐阅读
- javascript - Javascript循环遍历数组
- javascript - Laravel 表单在另一个表单中
- wordpress - 有什么方法可以在 WordPress 中保存插件设置。
- c++ - 如何通过 C++ 的 MVC 传递数据(可能使用向量或指针)
- java - 如何判断 ObjectProvider getObject() 是返回新的还是现有的 bean?
- spring-boot - 如何在 Spring Cloud Gateway 中获取请求标头值
- coldfusion - 不带变量的 CFSET 调用函数
- java - Eclipse 安装详细信息中的 Legal Info 按钮灰显
- facebook - 使用 headless chrome 自动发布 Facebook 帖子
- webpack - Webpack - devtool source-map VS eval-source-map