我有一个从0到100的30个整数(GRADES [30])的列表。我需要在函数中创建一个包含30个整数的新列表(NEW [30]),它具有相同的GRADES整数[30] ] + 3除了那些值为97(因为它会超过0-100)。可以有人帮我怎么做?例如,如果GRADES [5] = 57,NEW [5]必须是60. / p>
答案 0 :(得分:2)
您可以使用list comprehension,例如:
降低成绩> 97:
new_grades = [g + 3 for g in GRADES if g <= 97]
将成绩剪辑为100:
new_grades = [min(100, g + 3) for g in GRADES]
答案 1 :(得分:0)
这是一个现场解决方案。如果您的列表不是numpy
数组,则可以使用x = np.array(lst)
将其转换为一个。
import numpy as np
x[np.where(x <= 97)] += 3