将此字符串转换为 Python 中的列表
Convert this String to a List in Python
我是 Python 的新手,我尝试将以下 txt 转换为两个列表,将 Country 与 Capital 分开。
Afghanistan | Kabul
Albania | Tirana
Algeria | Algiers
...
我试过了:
with open("/FILE.txt") as f:
lines = f.read().split("| ")
如果您有类似 string="Kabul Albania" 的字符串,请使用 Split
a="Kabul Albania"
print(a.split(" ")) #OUTPUT WILL BE ['Kabul', 'Albania']
您正在将整个文件读入一个大字符串,然后在分隔符上拆分它。结果看起来像
lines = ['Afghanistan', 'Kabul\nAlbania', 'Tirana\nAlgeria', 'Algiers']
如果您想将文件拆分成行,splitlines
函数可以做到这一点。
with open("/FILE.txt") as f:
lines = f.read().splitlines()
但是如果你想把一个列表分成两个列表,也许可以试试
countries = []
capitals = []
with open("/FILE.txt") as f:
for line in f:
country, capital = line.rstrip("\n").split(" | ")
countries.append(country)
capitals.append(capital)
更好的解决方案可能仍然是将值读入字典。
capital = {}
with open("/FILE.txt") as f:
for line in f:
country, city = line.rstrip("\n").split(" | ")
capital[country] = city
顺便说一句,您几乎可以肯定 OS 的根目录中不应该有数据文件。这个位置是为管理文件保留的(或者实际上,实际上,只是目录树层次结构的第一级)。
这应该可以,
你做对了第一部分只需要将结果添加到两个不同的列表
country = []
capitals = []
with open("FILE.txt", "r") as f:
for line in f:
result = line.strip().split("|")
country.append(result[0].strip())
capitals.append(result[1].strip())
print(country)
print(capitals)
我是 Python 的新手,我尝试将以下 txt 转换为两个列表,将 Country 与 Capital 分开。
Afghanistan | Kabul
Albania | Tirana
Algeria | Algiers
...
我试过了:
with open("/FILE.txt") as f:
lines = f.read().split("| ")
如果您有类似 string="Kabul Albania" 的字符串,请使用 Split
a="Kabul Albania"
print(a.split(" ")) #OUTPUT WILL BE ['Kabul', 'Albania']
您正在将整个文件读入一个大字符串,然后在分隔符上拆分它。结果看起来像
lines = ['Afghanistan', 'Kabul\nAlbania', 'Tirana\nAlgeria', 'Algiers']
如果您想将文件拆分成行,splitlines
函数可以做到这一点。
with open("/FILE.txt") as f:
lines = f.read().splitlines()
但是如果你想把一个列表分成两个列表,也许可以试试
countries = []
capitals = []
with open("/FILE.txt") as f:
for line in f:
country, capital = line.rstrip("\n").split(" | ")
countries.append(country)
capitals.append(capital)
更好的解决方案可能仍然是将值读入字典。
capital = {}
with open("/FILE.txt") as f:
for line in f:
country, city = line.rstrip("\n").split(" | ")
capital[country] = city
顺便说一句,您几乎可以肯定 OS 的根目录中不应该有数据文件。这个位置是为管理文件保留的(或者实际上,实际上,只是目录树层次结构的第一级)。
这应该可以, 你做对了第一部分只需要将结果添加到两个不同的列表
country = []
capitals = []
with open("FILE.txt", "r") as f:
for line in f:
result = line.strip().split("|")
country.append(result[0].strip())
capitals.append(result[1].strip())
print(country)
print(capitals)