繁体   English   中英

如果在列表中(我想向列表中的元素添加一些东西) Python

[英]if a in list (I want to add something to the element in list) Python

正如主题所述:

list = ["a", "b"]

element = "ac"

我可以使用:

if element in list: 

如果元素等于 (list + "c") 中的元素

我想要实现的伪代码:

if element in (list+c)

在 python 中获得此行为的最佳方法是什么?

编辑:我知道有很多方法可以解决这个问题,但是可以像上面的代码那样在一行中完成吗?

更有效的是:

if any(x+'c' == element for x in your_list):

因为它避免了两次扫描列表(一次是制作“+c”版本,一次是检查元素是否在结果列表中)。 如果它在遍历整个列表之前找到该元素,它也会“短路”(即快速继续)。


PS - 最好不要将变量命名为list ,因为它已经是实际列表类型的名称。

if element in [elem + 'c' for elem in my_list]:
    # ...

调用变量list (或intfloatmaptuple等)从来都不是一个好习惯,因为你失去了那些内置类型。

if element[0] in list:

您不想将"c"添加到列表中的每个项目并检查"ac"是否在结果中; 你想检查"ac"的第一个字母是否在列表中。 除了容易得多之外,这是一回事。

if element[:-1] in list:

最好计算没有'c'的元素。 所以你只是在做一个计算。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM