给定一个列表 l1 = ['apple', 'pear', 'grapes, 'banana']
如何删除 'pear'
之后的所有项目
原文由 ustroetz 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以构建一个自定义生成器函数,它适用于任何可迭代对象,而不仅仅是列表 - 尽管对于您的示例 list.index
,异常处理和切片很好……
def takewhile_including(iterable, value):
for it in iterable:
yield it
if it == value:
return
l1 = ['apple', 'pear', 'grapes', 'banana']
print('Until pear', list(takewhile_including(l1, 'pear')))
# Until pear ['apple', 'pear']
print('Until blah', list(takewhile_including(l1, 'blah')))
# Until blah ['apple', 'pear', 'grapes', 'banana']
原文由 Jon Clements 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答884 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
使用列表切片方法
当列表中不存在元素时进行异常处理。
当列表中存在元素时