假设您有两个列表:
x = [Jack, John, Suzie, Bill, James]
y = [93, 88, 100, 72, 82]
我写了一个代码,对y中的数字求平均值,并删除所有低于该平均值的数字。有没有办法也删除列表x中的相应名称?
因此,如果从y中删除了88、72和82,我该如何使用它们从列表x中删除John,Bill和James?
这是我当前代码的摘录:
newName = nameList + listName
newGrade = gradeList + listGrade
print(newName)
print(newGrade)
avg = getAverage(newGrade)
print('The average of the list is:', avg)
gradeAvg = [i for i in newGrade if i > avg]
nameAvg =
我已经隔离了gradeAvg中的所有元素,并且需要从nameAvg中删除那些相同的元素。
答案 0 :(得分:1)
答案 1 :(得分:0)
要执行此操作,只需将已删除值的索引保留在y中,然后在x中的相同索引处删除该值。像这样:
x = ['Bill' , 'Bob', 'Jane', 'Karen']
y = [12, 24, 19, 45]
for element in enumerate(y):
if element[1] < your_value:
del y[element[0]]
del x[element[0]]
答案 2 :(得分:0)
您也可以尝试使用字典。
尝试查看此https://docs.python.org/3/tutorial/datastructures.html#dictionaries
但是,如果您需要处理单独的列表,则可以比较它们的索引。也就是说,在列表y中获得88的索引,并从x中删除相同索引的值。