python - 满足特定条件时替换列表中的元素
问题描述
当值大于某个值时,我想通过添加另一个列表来更改列表中的特定元素。
假设我们有 2 个列表:
num_list=[1,5,2,19,28,21]
num_list_2=[2,8,23,81,52,31]
value=3
对于第一个列表,我希望所有大于 3 的值都被更改。所有大于 3 的值我希望它添加到第二个列表 (num_list_2) 以创建一个新列表。这就是我的处理方式:
updated_list=[]
for k in num_list:
if k > value:
updated_list=num_list[k]+num_list_2[k]
出于某种原因,我不断得到“列表索引超出范围”,我不确定这是为什么。由于我是初学者,因此将不胜感激任何帮助。提前致谢!
解决方案
这里
num_list=[1,5,2,19,28,21]
num_list_2=[2,8,23,81,52,31]
value=3
updated_list=[]
for k, n in enumerate(num_list):
if n > value:
updated_list.append(n + num_list_2[k])
else:
updated_list.append(n)
print(updated_list)
你的方法很好,但你需要让索引指向数组的位置所以,用索引和值枚举列表,是的,将结果附加到列表中。
k 是索引,n 是 array[k] 处的值
注意:我还添加了一个 else 部分,如果 is 小于或等于 3,您只需推送第一个列表的值
谢谢
推荐阅读
- javascript - Javascript - 作为客户端将字符添加到网页特定字段中的现有字符串
- hangfire - Hangfire 支持 - 支持有多好?
- python - Keras:使用 categorical_crossentropy 而不使用 one-hot 编码的目标数组
- xpath - XQuery - 优化低效查询策略(在 eXist-db 中)
- c - 当位图在 Allegro 中跟随另一个位图时闪烁
- python - 是否可以让 Kivy 应用程序窗口自动适应内部单个标签的大小?
- python - Python:使用 Facebook Graph API 在针对特定语言环境的 Facebook 页面上发布帖子
- google-assistant-sdk - 如何使用 Google Assistant SDK 完全禁用 HTML 响应?
- bash - 如何在 UNIX 中递归获取完整路径?
- c++ - 输出没有重复元素的动态数组(缩小数组)C++