【问题标题】:Splitting list in pythonpython中的拆分列表
【发布时间】:2010-03-02 13:37:09
【问题描述】:

我有一个从 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

谁能帮帮我? 干杯, 查瓦纳克

【问题讨论】:

  • 这个例子只是复制了 d.complex.1 我认为你需要澄清你的问题
  • 真的不太清楚,这是不是文件中的列表、字符串、行?
  • @chavanak:请不要评论您自己的问题。这是你的问题。您可以更改问题以使其更好。请更新您的问题并删除您的评论。

标签: python list split


【解决方案1】:
>>> 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']]

【讨论】:

  • 对上面的代码进行了一些修改,让它对我有用。感谢一吨的gnibbler :)
【解决方案2】:

没有更多详细信息并假设您的“列表”在文件中。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多