为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

摇曳的蔷薇 2022-11-01 14:15:32
假设您有两个列表: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 中取出那些相同的元素。
查看完整描述

3 回答

?
守着星空守着你

TA贡献1799条经验 获得超8个赞

你一个用途:

x = [v for k,v in zip(y,x) if k > 90] # 90 or whatever number you want.
# ['Jack', 'Suzie']

演示


查看完整回答
反对 回复 2022-11-01
?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

您也可以尝试使用字典。

尝试查看此https://docs.python.org/3/tutorial/datastructures.html#dictionaries

但是如果您需要处理单独的列表,您可以比较它们的索引。即获取列表 y 中 88 的索引,并从 x 中删除相同索引处的值。

检查此以查找索引查找列表中项目的索引


查看完整回答
反对 回复 2022-11-01
?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

为此,只需将已删除值的索引保留在 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]]


查看完整回答
反对 回复 2022-11-01
  • 3 回答
  • 0 关注
  • 70 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信