[英]Create list of tuples (in a more elegant way)
我正在编写一个python脚本来读取一个文件,该文件由以逗号分隔的三列组成,创建每行的元组,并列出这些元组。 使用以下脚本,我可以实现我想要的; 我只是想知道是否有比单独编写以下每个步骤更容易/更优雅的方法。
import sys
fin=open(sys.argv[1],'r')
list = []
for line1 in fin:
line2 = line1[:-1]
line3 = line2.split(',')
line4 = tuple(line3)
list.append(line4)
print(list)
谢谢您的回答。
使用列表理解:
lst = [tuple(line.rstrip().split(',')) for line in fin]
(不要命名变量list
;它会掩盖内置变量并可能导致意外错误)。
Python随附电池! 如果您需要读取csv文件,只需使用csv模块 :
import sys, csv
with open(sys.argv[1]) as f:
lst = list(csv.reader(f))
请注意,这会创建一个列表列表,如果由于某些原因需要元组,则
with open(sys.argv[1]) as f:
lst = [tuple(row) for row in csv.reader(f)]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.