使用函数在PYTHON中创建新列表

时间:2018-02-11 18:07:54

标签: python function

我有一个从0到100的30个整数(GRADES [30])的列表。我需要在函数中创建一个包含30个整数的新列表(NEW [30]),它具有相同的GRADES整数[30] ] + 3除了那些值为97(因为它会超过0-100)。可以有人帮我怎么做?例如,如果GRADES [5] = 57,NEW [5]必须是60. / p>

2 个答案:

答案 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