繁体   English   中英

创建元组列表(以更优雅的方式)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM