我有一个文件,其中每行包含3个"字段";用管道标志隔开。所以每一行看起来像:
AA10SchedTbl|ddmmyy|comxxx.xxx.xxx|
AC01_systSchedTbl|ddmmyy|comxxx.xxx.xxx|
....
我需要创建一个包含每行第一个字段的集合我使用下面的代码,但我不认为这是最有效的方式,有什么建议吗?
with open(filename,"r") as file1:
refercycles = file1.readlines()
reference=set()
for lines in refercycles:
line=lines.split('|')
x=line[0].strip()
reference.add(x)
算法没有问题。也许你可以应用一些(小的)优化:
with open(filename, "r") as file1:
reference = {line.split("|", 1)[0].strip() for line in file1}
使用集合推导式,并将str.split
限制为每行单个拆分。