如何删除一个列表中的元素,因为它们已从另一个列表中删除?

假设您有两个列表:


x = [Jack, John, Suzie, Bill, James]

y = [93, 88, 100, 72, 82]

我编写了一个代码来平均 y 中的数字,并删除低于该平均值的所有数字。有没有办法也删除列表 x 中的相应名称?


那么,如果 88、72 和 82 从 y 中删除,我如何使用它从列表 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 中取出那些相同的元素。


摇曳的蔷薇
浏览 71回答 3
3回答

守着星空守着你

你一个用途:x = [v for k,v in zip(y,x) if k > 90] # 90 or whatever number you want. # ['Jack', 'Suzie']演示

汪汪一只猫

您也可以尝试使用字典。尝试查看此https://docs.python.org/3/tutorial/datastructures.html#dictionaries但是如果您需要处理单独的列表,您可以比较它们的索引。即获取列表 y 中 88 的索引,并从 x 中删除相同索引处的值。检查此以查找索引查找列表中项目的索引

慕田峪7331174

为此,只需将已删除值的索引保留在 y 中,然后删除 x 中相同索引处的值。像这样:x = ['Bill' , 'Bob', 'Jane', 'Karen']y = [12, 24, 19, 45]for element in enumerate(y):&nbsp; &nbsp; if element[1] < your_value:&nbsp; &nbsp; &nbsp; &nbsp; del y[element[0]]&nbsp; &nbsp; &nbsp; &nbsp; del x[element[0]]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python