这也许是一个愚蠢的问题,但我知道必须存在一种更有效的方法,在这种情况下如何使用循环创建列表,稍后我将可以迭代比较值。
我有一堆r
和q
,我想用它们组成一个列表,以便以后比较各种键值中的值。请提示:
这是我的代码:
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)
答案 0 :(得分:0)
根据并行软件上的Ami Marowka文章,列表理解比普通循环快大约2倍
new_list = [expression(i) for i in old_list if filter(i)]
Wes McKinney在Python中进行数据分析的示例表明,与上面代码中的嵌套循环相比,numpy数组的速度比嵌套循环快10-100倍。 numpy和列表理解都对学习和希望同样有用。