python - 为什么这个函数会产生 (0,0,0,0,0)
问题描述
我有这个功能
my_list = [1,2,3,4,5]
my_new_list = []
for num in my_list:
my_new_list.append(num-my_list[num-1])
print(my_new_list)
我不明白 [num-1] 在索引返回 (0,0,0,0,) 方面做了什么,有人可以解释一下,因为我无法理解为什么会出现这种情况。
解决方案
结果是可以理解的,在您的循环中,从my_list中减去my_num[num-1] ,其内容为 1,2,3,4,5。
当 num 为my_list[0]==1时,第一次迭代,my_list[1-1] = my_list[0]的值。所以它实际上与减去列表中的各个元素本身相同,从而得到 [0,0,0,0,0]。
希望这有助于您理解行为:)。
推荐阅读
- php - 如何链接到页面的特定部分 HTML PHP
- c# - 当后端代码中的简单键值变量工作相同时,为什么要使用 redis 作为缓存层?
- google-apps-script - Google Slides Apps 脚本检索页面中的形状
- python-3.x - 在 KNeighborsClassifier 中使用自定义指标时,我不断收到“TypeError:只有整数标量数组可以转换为标量索引”
- java - JavaFX - 在使用选项卡时将 GUI 拆分为单独的类
- jquery - 通过函数调整电子窗口大小
- scheme - 匹配方案中的括号
- android - 当我使用 adb 显示 /sys/kernel/debug/tracing/available_filter_functions 时没有这样的设备
- python - 初始化以迭代抽象pyomo模型中的集合?
- angular-cli - 运行 ng serve -o 时出现错误