Разделение списка в питоне - PullRequest
0 голосов
/ 02 марта 2010

У меня есть список, который я получил из скрипта Python. содержимое списка выглядит примерно так: Содержимое ниже находится в файле, но я загрузил его в список для сравнения с чем-то другим. Но теперь я должен разделить этот список так, чтобы каждый новый созданный список содержал комплексное имя с соответствующим номером. Надеюсь, теперь все ясно:)

d.complex.1
24
25
67
123
764
d.complex.200
23
54
35
64
d.complex.302
.
.
.

Я хочу разделить этот список таким образом, чтобы был создан новый список от d.complex.1 до d.complex.2 (исключая d.complex.2), т.е.

d.complex.1
24
25
67
123
764
end of list

>newlist
d.complex.200
23
54
35
64
endoflist

Кто-нибудь может мне помочь? Ура, Chavanak

Ответы [ 2 ]

0 голосов
/ 02 марта 2010
>>> mylist='d.complex.1\n24\n25\n67\n123\n764\nd.complex.200\n23\n54\n35\n64\nd.complex.302'.split("\n")
>>> res=[]
>>> for line in mylist:
...  if line.startswith("d.complex"):
...   res.append([])
...  res[-1].append(line)
... 
>>> res
[['d.complex.1', '24', '25', '67', '123', '764'], ['d.complex.200', '23', '54', '35', '64'], ['d.complex.302']]
0 голосов
/ 02 марта 2010

без более подробной информации и при условии, что ваш "список" находится в файле.

f=0
for line in open("file"):
    if "d.complex.2" in line: break # or exit
    if "d.complex.1" in line:
        f=1
    if f:
        print line.rstrip()

выход

$ ./python.py
d.complex.1
24
25
67
123
764
...