f=open('insert.dat','w+')
while True:
name=raw_input("ENter name:")
age=input("Enter age")
gen=raw_input("gender")
f.write(name+','+str(age)+','+gen+'')
ch=raw_input("continue")
if(ch=='n'):
break
f=open('insert.dat','r+')
x=f.readline()
x=x.split(',')
for index,line in enumerate(x):
print line,index
f.seek(0,0)
f.close()
在这个程序中,我想输入:
name:lol
age:3
gender:F
name:koi
age:4
gender:F
所以x.split应该是
['lol',3,'F','koi',4,'F']
现在我想把第一个细节作为一个单独的列表,例如:
['lol',3,'F'].
但是当我使用上述格式时,每个单词在与split一起使用时将作为列表出现。如何使用枚举和拆分来实现这一点。三江源!
答案 0 :(得分:0)
使用您使用的相同逻辑。 你做错的事情是将下一个细节添加到以前数据的末尾。
您可以执行以下操作来避免它:
f=open('insert.dat','w+')
individual = []
while True:
name=raw_input("ENter name:")
age=input("Enter age")
gen=raw_input("gender")
f.write(','+name+','+str(age)+','+gen+'')
individual.append([name,age,gen])
ch=raw_input("continue")
if(ch=='n'):
break
f=open('insert.dat','r+')
x=f.readline()
x=x.replace(',', '', 1)
x=x.split(',')
for index,line in enumerate(x):
print line,index
f.seek(0,0)
f.close()
for ind in individual:
print ind
我在输入的开头添加了逗号','。您需要做的就是在拆分字符串之前替换第一个逗号。