如果将一个列表中的元素从另一个列表中删除,该如何删除?

时间:2020-05-01 00:02:38

标签: python list

假设您有两个列表:

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中删除那些相同的元素。

3 个答案:

答案 0 :(得分:1)

您的用途:

int someFunction() {
   int n;
   if (n >= 0) 
      return n;
   else
      return (0 - n);
}

Demo

答案 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中删除相同索引的值。

选中此项以查找索引Finding the index of an item in a list