如何使用枚举和拆分从列表中提取一组项目?

How to extract a group of items from a list using enumerate and split?

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'].

但是当我使用上述格式时,每个单词在与拆分一起使用时都会作为一个列表出现。如何仅使用枚举和拆分来获得这样的结果。??谢谢!

使用与您相同的逻辑。 您做错的是将下一个详细信息添加到先前数据的末尾。

您可以执行以下操作来避免它:

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

我在输入的开头添加了逗号','。您需要做的就是在拆分字符串之前替换第一个逗号。