Kru*_*h23 16 python list python-3.x
我的清单有
a = [1,2,3,4,2,7,3,5,6,7]
b = [1,2,3,1,2,5,6,2,6,7]
Run Code Online (Sandbox Code Playgroud)
我需要数一下a[i]==b[i]。
对于以上示例,答案应为
6
Run Code Online (Sandbox Code Playgroud)
答案的详细说明是
a[0]==b[0] (1==1)
a[1]==b[1] (2==2)
a[2]==b[0] (3==3)
a[4]==b[4] (2==2)
a[8]==b[8] (6==6)
a[9]==b[9] (7==7)
Run Code Online (Sandbox Code Playgroud)
小智 28
单线:
sum(x == y for x, y in zip(a, b))
Run Code Online (Sandbox Code Playgroud)
yat*_*atu 14
一种方法是map同时列出operator.eq并获取sum结果:
from operator import eq
a = [1,2,3,4,2,7,3,5,6,7]
b = [1,2,3,1,2,5,6,2,6,7]
sum(map(eq, a, b))
# 6
Run Code Online (Sandbox Code Playgroud)
通过映射eq运算符,我们在何处获得True或False取决于具有相同索引的项目是否相同:
list(map(eq, a, b))
# [True, True, True, False, True, False, False, False, True, True]
Run Code Online (Sandbox Code Playgroud)
您可以使用Python的一些特殊功能:
sum(i1 == i2 for i1, i2 in zip(a, b))
Run Code Online (Sandbox Code Playgroud)
这会
zip() 0和11s与sum()| 归档时间: |
|
| 查看次数: |
1167 次 |
| 最近记录: |