我的程序需要搜索包含月份数字和值的列表。(1 月是 1,2 月是 2 等等)。如果找到月份整数,我想将其对应的值附加到 avg_tuple 数组。如果它没有找到月份整数,我希望它将“N/A”附加到 output_tuple 数组,以进行报告。是否可以在不使用 { for i in my_list: } 方法的情况下搜索我的列表?
例如,我的程序的目的是计算一月份所有值的平均值。然后报告。然后取 2 月和 1 月的平均值并报告。然后是 3 月、2 月和 1 月(随着月份的继续……)。如果一个月没有此列表的值,我希望它报告 N/A。我尝试了 { if x in my_list } 方法但没有成功。
这是我的代码:
my_list = [(2, 181), (2, 183), (3, 376), (4, 205)]
input tuple = my_list
#Function to calculate and report back the average duration for each month
def average_duration(input_tuple):
output_tuple = []
average_tuple = []
for number in range(1,13):
for i in input_tuple:
if i[1] == number:
average_tuple.append(i[3])
if len(average_tuple)==0:
output_tuple.append("N/A")
pass
else:
output_tuple.append((sum(average_tuple))/len(average_tuple))
return output_tuple
这是我当前的输出。每个值对应每个月。(我使用 OpenPyxl 在电子表格中报告它们):
my_list N/A 182 246.6666667 236.25 236.25 236.25 236.25 236.25 236.25 236.25 236.25 236.25
这是我的预期输出:
my_list N/A, 182, 246.6666667, 236.25, N/A, N/A, N/A, N/A, N/A, N/A, N/A, N/A
小唯快跑啊
相关分类