使用带有文本文件字符串的for循环在列表列表中查找索引时出现问题

2024-10-01 22:26:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个文本文件,字符串中有一个字母(以“a”开头,分配给一个随机国家)。我从文本文件中导入该行,以便与我的代码一起使用,其中我有一个国家和费率列表。我去掉字符串,这样我就只剩下国家了,然后我希望能够在我创建的列表的字符串中找到国家。问题是,当我运行for循环在列表的字符串中查找国家名称时,每个初级列表都有国家名称、GDP和汇率,for循环运行,但无法在字符串中找到国家,即使它们的类型和拼写相同。让我在下面发布我的代码和输出

当我创建txt文件或csv文件时,我使用的是:

f = open("otrasvariables2020.txt", "w")
f.write(str(mis_letras_paises) + "\n")
f.write(str(mis_paises) + "\n")    #(This is the string I need)
f.write(str(mis_poblaciones) + "\n")
f.close()     #to be ready to use it later

让我发布一些输出

import linecache

with open("otrasvariables2020.txt") as otras_variables:
    mis_paises = (linecache.getline("otrasvariables2020.txt",2))  

#Here I get the line of text I need, I clean the string and create a
#list with 5 countries.

lista_mis_paises = mis_paises.translate({ord(i): None for i \
                                         in "[]-\'"}).split(", ")
for i in lista_mis_paises:
    if "\n" in i:
        print(i)
        i.replace("\n", "")

for i in lista_mis_paises:
    if len(i) <= 2:
        lista_mis_paises.pop(lista_mis_paises.index(i))

问题的最后一部分:所以,最终我想要在数组中找到我从文本文件导入的列表/字符串中国家的初级列表。一旦我找到了初级列表,我就可以使用那里的比率和其他值进行我需要做的计算。你知道怎么了吗?结果应该是这样的:阿夫加尼斯坦和其他4个国家应该在清单中找到,对阿夫加尼斯坦来说,这恰好是第一项,因此我现在应该能够创建另一个清单,但只列出5个国家,而不是我开始时列出的185个国家


Tags: the字符串代码intxt列表for国家
1条回答
网友
1楼 · 发布于 2024-10-01 22:26:39

如果您关心的是去除不想使用的特殊字符,我会这样做:

countries = linecache.getline("otrasvariables2020.txt",2).strip('[]-\'"').rstrip('\n').split(', ')

注意:with open("otrasvariables2020.txt") as otras_variables:未在上面共享的代码中使用,因此可以删除

希望能有帮助

相关问题 更多 >

    热门问题