list=[lorenzo,de tomasi,rieti,07-03-1995
maria,severone,cittaducale,04-03-1961
alessio,di febo,atri,07-02-1995
andrea,di francesco,penne,02-10-1995
lorenzo,de tomasi,rieti,07-03-1995
gianluca,de tomasi,dolores,17-10-1964]
我必须创建一个新列表,使用周期将在同一位置出生的所有人都排在第三个位置,出生地的长度是可变的,我该怎么办?
fin=open('collection_name.txt')
str=fin.read()
def remove_duplicate(listik):
res=[]
for i in listik:
if i not in res:
res.append(i)
return res
for i in range(len(str)):
if i==0:
pos=0
pippo='a'
pluto=[]
pos1=0
pos2=0
if str[i]==',':
for j in range(i+1,len(str)):
if str[j]==',':
pos1=j
for k in range(j+1,len(str)):
if str[k]==',':
pos2=k
pippo=str[pos1+1:pos2]
pluto.append(pippo)
print(pluto)
答案 0 :(得分:0)
好吧,您可以先 str.split(','),以便将数据放入每个位置都位于某个位置的数组中,然后像下面这样迭代它:
data = str.split(',')
pluto = []
'''This will create a list with numbers 0..len(data)-1 with a step of 3
so you'll be only iterating over the places. '''
for i in range(3, len(data), 3):
if data[i] == "de rieti":
pluto.append(data[i-2])
pluto.append(data[i-1])
pluto.append(data[i])
pluto.append(data[i+1])
print(pluto)
当然,在这里您应该首先检查那些i +/- n是否存在,这可能不能100%解决您的问题,但它应该可以帮助您了解如何进行操作:)