gpt4 book ai didi

python - 简单地从 python 列表中删除元素

转载 作者:太空宇宙 更新时间:2023-11-04 06:51:25 25 4
gpt4 key购买 nike

我想实现如下效果

a=[11, -1, -1, -1]
msg=['one','two','tree','four']
msg[where a<0]
['two','tree','four']

以类似的简单方式(没有讨厌的循环)。

附言。对于好奇的人来说,这个 if 语句是在一种函数式语言中本地工作的。

//编辑

我知道下面的文字与上面的要求不同,但我已经找到了我想要达到的目标。我不想在我自己的线程中发送垃圾邮件,所以我也找到了一些不错的解决方案,我想把它呈现给你。

filter(lambda x: not x.endswith('one'),msg)

最佳答案

您可以使用 list comprehensions为了这。您需要匹配两个列表中的项目,zip功能被使用。这将生成一个元组列表,其中每个元组包含每个原始列表中的一个项目(即 [(11, 'one'), ...])。一旦有了这个,就可以遍历结果,检查第一个元素是否低于 0 并返回第二个元素。有关语法的更多详细信息,请参阅链接的 Python 文档。

[y for (x, y) in zip(a, msg) if x < 0]

实际的问题似乎是在 msg 列表中查找不包含字符串 "one" 的项目。这可以直接完成:

[m for m in msg if "one" not in m]

关于python - 简单地从 python 列表中删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1543456/

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