python - python - 在指示列表时发出变异列表
问题描述
我正在尝试创建一个函数,该函数将使用 for 循环指示列表,并为每个元素连接一个重复项。然而问题是这range(len(L))
似乎是静态的,导致了时髦的结果。
所以L = [1, 2, 3, 4]
应该返回[1, 1, 2, 2, 3, 3, 4, 4]
。相反,它返回[1, 1, 2, 3, 4]
我已经通过指示 2 来调整 len(L) 的增加。我也尝试过在循环内分配x = len(L)
、使用和重新分配。range(0,x,2)
然而,最大值i
实际上仍然是 len(L)/2。使用range(0,len(L)*2,2)
隐藏了问题,但感觉非常不合时宜。
def doubleL(L):
for i in range(0,len(L),2):
L=L[:i]+[L[i]]+L[i:]
return L
我已经使用带有 while 循环的相同逻辑成功地创建了它。
解决方案
推荐阅读
- c++ - 错误:调用不匹配 (std::string{aka std::basic_string
})(const char[5])' - spring - 如果任何微服务出现故障,则获得警报
- javascript - 带有 JSON 的 jQuery 中的 if 语句
- bash - 重定向时不需要打开文件描述符?
- python - 如何循环获取名为 vlist 的列表?
- javascript - 如何将包含对象、数组的参数发送到 Rails api,以便对其进行解析?
- python - 如何在 Spark 中读取分区数据?
- javascript - Highcharts 提交的日期差了一天
- javascript - 使用 Ajax 中的复选框管理具有多个值的 url 参数
- java - 两个 Date 实例以小时为单位的差异引发“结束时刻必须大于开始”异常