Python如何拆分复制列表元素 实现计算值重复两次输出
如何对列表的每个元素进行拆分复制?
你的现有代码在每次循环中仅向新列表追加1次除以2后的计算值,因此输出列表长度和原列表一致,没有实现重复两次的效果。可以通过以下任意一种方式修改,得到目标结果:
- 直接修改原有循环逻辑,计算出每个值后连续追加两次
org_x = [11,15,20,25] some_list = [] for i in org_x: val = i / 2 some_list.append(val) some_list.append(val) print(some_list)
- 用列表推导式实现,写法更简洁,是Python中更推荐的写法
org_x = [11,15,20,25] some_list = [i/2 for i in org_x for _ in range(2)] print(some_list)
- 如果你本身需要用numpy处理数值逻辑,可以直接调用numpy的
repeat方法批量实现
import numpy as np org_x = np.array([11,15,20,25]) some_list = (org_x / 2).repeat(2).tolist() print(some_list)
以上代码运行后都会输出你期望的结果:
[5.5, 5.5, 7.5, 7.5, 10.0, 10.0, 12.5, 12.5]
内容的提问来源于stack exchange,提问作者user19319806
相关产品推荐
相关产品推荐

