Python 3在列表中有效存储值

时间:2018-10-14 22:04:28

标签: python-3.x list dictionary

这也许是一个愚蠢的问题,但我知道必须存在一种更有效的方法,在这种情况下如何使用循环创建列表,稍后我将可以迭代比较值。

我有一堆rq,我想用它们组成一个列表,以便以后比较各种键值中的值。请提示:

这是我的代码:

r1 = "a"
r2 = "b"
r3 = "c"
r4 = "d"
r5 = "e"

q1 = "a"
q2 = "b"
q3 = "c"
q4 = "d"
q5 = "e"

l = []
record1 = {"q": q1, "r": r1}
record2 = {"q": q2, "r": r2}
record3 = {"q": q3, "r": r3}
record4 = {"q": q4, "r": r4}
record5 = {"q": q5, "r": r5}

l.append(record1)
l.append(record2)
l.append(record3)
l.append(record4)
l.append(record5)

score = 0
for i in l:
    if i['q'] == i['r']:
        score +=1

print(score)

1 个答案:

答案 0 :(得分:0)

根据并行软件上的Ami Marowka文章,列表理解比普通循环快大约2倍

new_list = [expression(i) for i in old_list if filter(i)] 

Wes McKinney在Python中进行数据分析的示例表明,与上面代码中的嵌套循环相比,numpy数组的速度比嵌套循环快10-100倍。 numpy和列表理解都对学习和希望同样有用。