如何使用索引在特定点停止列表?

2024-06-17 12:37:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我只想在值'--'之前显示一个整数列表,不管它在列表中的什么位置,我希望它在('--'点)停止

输入:

list1 = ['pop', 'sop', 'kla', 'so', 'Lu', 'ys', 'Se', '---', 'rop', 'pol']

我想要的输出:

list1 ['pop', 'sop', 'kla', 'so', 'Lu', 'ys', 'Se']

我试过索引,但我被卡在自动取款机上了


Tags: 列表so整数popluseropys
3条回答
from itertools import takewhile

list1 = list(takewhile(lambda s: s != '---', list1))

^{}

您可以使用以下命令将列表切至该项目:

list1[:list1.index('---')]

它将在'---'的索引位置停止

可以对index()的输出使用切片,如下所示:

list2 = list1[:list1.index('---')] # ['pop', 'sop', 'kla', 'so', 'Lu', 'ys', 'Se']

正如@deceze所指出的,如果列表中不存在元素,它会抛出一个错误,在这种情况下,您可以在切片部分添加一个检查,如下所示:

list2 = list1[:list1.index('---') if '---' in list1 else len(list1)]

相关问题 更多 >