我是python的新手,无法在线找到它。
给定一个包含以下内容的.txt文件:
Apple : Red
Orange : Orange
Banana : Yellow
如何获得[Apple, Orange, Banana]
和[Red, Orange, Yellow]
两个列表?
我在互联网上看到了一些例子,但结果是一个二维列表。
with open('fruit.txt') as f:
List= [x.strip().split(':') for x in f.readlines()]
print List
答案 0 :(得分:5)
您可以简单地zip
分割线,然后将它们解压缩为两个变量,例如
with open('fruit.txt') as f:
fruits, colors = zip(*(line.strip().split(":") for line in f))
print fruits, colors
# ('Apple ', 'Orange', 'Banana') (' Red', ' Orange', ' Yellow')
答案 1 :(得分:1)
fruit = []
color = []
with open('fruit.txt') as f:
for line in f:
fruit.append(line.split(':')[0].strip())
color.append(line.split(':')[1].strip())
答案 2 :(得分:0)
导入 csv 库,您可以在其中读取行并分隔每行中的单词/字段。
在您的情况下,它是":"
使用列表方法 list.append()
import csv
a=[]
b=[]
with open('fruit.txt') as f:
for row in csv.reader(f, delimiter=":"):
a.append(row[0])
b.append(row[1])
print a
print b