删除多个列表的值

问题描述 投票:0回答:2

我有一个python代码。我的主题是:

我有一篇法国天气文章。我提取了位置,我只想保留带有介词[“ de”,“à”,“ d”]的位置。

对于我的数据集的一篇文章,我出现了一个索引超出范围

错误。如果由我的本地化选择功能生成此错误。
def loc_selection(lieu, prep, lon, lat): 
    i=0
    while True:
        if prep[i] not in ["de", "à", "d'"]:
            lieu.pop(i)
            prep.pop(i)
            lon.pop(i)
            lat.pop(i)
            i = i - 1
        i = i + 1
        if i >= (len(prep)):
            break

    return lieu, prep, lon, lat

我有4个清单,分别是lie,prep,lon,lat。我想删除不是正确介词的prep字段中的所有数据。我也想删除其他列表中的相应数据。

我不确定我的方法是最好的。随意应用您自己的方法。

谢谢您的帮助。

我有一个python代码。我的主题是:我有一篇法国天气文章。我提取了位置,我只想保留带有介词[“ de”,“à”,“ d”]的位置。对于我的一篇文章...

python list
2个回答
0
投票

似乎zip将列表组合在一起并并行地对其进行遍历,这更适合您要执行的操作。以下将产生具有以下前缀之一的(lieu, prep, long, lat)元组:


0
投票

假设您要从所有列表中删除要保持顺序的元素。 frozensetset可以使用:

© www.soinside.com 2019 - 2024. All rights reserved.