gpt4 book ai didi

python - 有没有类似 `strip` 的列表方法?

转载 作者:太空狗 更新时间:2023-10-30 02:07:03 25 4
gpt4 key购买 nike

python中内置的strip方法可以很方便的剥离满足自定义条件的padding子串。例如

"000011110001111000".strip("0")

将删除字符串两边的填充零,并返回 11110001111

我想为列表找到类似的功能。例如,对于给定的列表

input = ["0", "0", "1", "1", "0", "0", "1", "0", "1", "0", "0", "0"]

预期输出将是

output = ["1", "1", "0", "0", "1", "0", "1"]

input 示例中的项目过于简化,它们可能是任何其他 python 对象

list comprehension 将删除所有项目,而不是填充项目。

[i for i in input if i != "0"]

最佳答案

从两端使用 itertools.dropwhile:

from itertools import dropwhile

input_data = ["0", "0", "1", "1", "0", "0", "1", "0", "1", "0", "0", "0"]

def predicate(x):
return x == '0'

result = list(dropwhile(predicate, list(dropwhile(predicate, input_data))[::-1]))[::-1]
result

输出:

['1', '1', '0', '0', '1', '0', '1']

关于python - 有没有类似 `strip` 的列表方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55391126/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com