小编Den*_*nis的帖子

在python中将数据添加到列表而没有重复的最快方法是什么(2.5)

我有大约五十万个项目需要放在一个列表中,我不能重复,如果一个项目已经存在,我需要得到它的索引.到目前为止我有

if Item in List:
    ItemNumber=List.index(Item)
else:
    List.append(Item)
    ItemNumber=List.index(Item)
Run Code Online (Sandbox Code Playgroud)

问题是随着列表的增长,它逐渐变慢,直到某些时候它不值得做.我仅限于python 2.5,因为它是一个嵌入式系统.

python list

21
推荐指数
3
解决办法
4万
查看次数

Python if语句效率

一位朋友(低级技能级别的娱乐python脚本编写者)让我查看一些代码.我注意到他有7个单独的陈述,基本上说.

if ( a and b and c):
    do something
Run Code Online (Sandbox Code Playgroud)

陈述a,b,c都测试了它们的相等或缺乏设定值.当我看到它时,我发现由于测试的性质,我可以将整个逻辑块重写为2个分支,从不超过3个深度并且很少超过第一个级别(进行最罕见的测试)第一).

if a:
    if b:
        if c:
    else:
        if c:
else:
    if b:
        if c:
    else:
        if c:
Run Code Online (Sandbox Code Playgroud)

对我来说,从逻辑上讲,如果你做的更少,更简单的测试更快失败并继续前进,它似乎应该更快.我真正的问题是

1)当我说if if时,如果if为真,那么else会被完全忽略吗?

2)理论上会

如果(a和b和c)

花三倍于单独的if语句会花多少时间?

python performance

16
推荐指数
5
解决办法
2万
查看次数

标签 统计

python ×2

list ×1

performance ×1