python-如何使用标记元素拆分列表?
发布时间:2022-08-31 09:50:07 213
相关标签: # node.js
我试图在Python中使用一些元素作为标记来拆分列表。例如,考虑以下列表:
["marker1", "elem1", "elem2", "marker2", "elem3"]
我希望将其分为两个子列表:
[["marker1", "elem1", "elem2"], ["marker2", "elem3"]]
如果第一个元素不是标记,则标记之前的元素应视为单独的子列表:
# From:
["elem1", "elem2", "marker1", "elem3", "marker2", "elem4", "elem5"]
# To:
[["elem1", "elem2"], ["marker1", "elem3"], ["marker2", "elem4", "elem5"]]
使用常规循环很容易:
lst = ["elem1", "elem2", "marker1", "elem3", "marker2", "elem4", "elem5"]
separated = []
sub_lst = []
for elem in lst:
if elem[:6] == "marker" and sub_lst:
separated.append(sub_lst)
sub_lst = []
sub_lst.append(elem)
if sub_lst:
separated.append(sub_lst)
此代码有9行长。我的问题是如何使用列表理解或任何其他功能性风格在一行(或更多行)中做到这一点。也欢迎任何其他优雅的解决方案。
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报