我在网站上搜索了这个问题,并找到了许多关于从列表中删除特定值的帖子。
然而,这并没有回答我的问题。
让我们来看一个例子:
mylist=[[1,2,3,4],[100,374,283,738]]
现在,我心中认为这两个列表是相互关联的。列表1包含数字项目:1、2、3、4等等,而列表2则是这些项目的特征(例如价格:$100、$374等)。
现在,如果列表2中的某个值更高(例如某件商品太昂贵,超过了$300),我想要从列表中删除这些元素(数字和价格)。
我一直在尝试,得到了以下代码:
n=0 # counter for position in the list
for i in mylist[1]:
if i>300:
for j in mylist:
del j[n]
n=n+1
结果:
[[1,3],[100,283]]
这个方法实际上是可行的。看起来不太高效:我需要多次访问列表并创建新变量。循环太多。
由于列表可以使用推导式,我想知道是否有更有效和更优雅的方法来获得相同的结果。
谢谢