在我制作的程序中,我需要评估列表中每个整数的最后一位数,并将其与下两个整数的最后一位数进行比较。我使用的代码用于2个整数,但是当我尝试添加另一个整数时,它没有用。两个整数的代码是
from collections import Counter
ctr = Counter((n0%10,n1%10) for n0,n1 in zip(my_list,my_list[1:]))
我为三个整数尝试的代码是
from collections import Counter
ctr2 = Counter((n0%10,n1%10,n2%10) for n0,n1,n2 in zip(my_list,my_list,my_list[1:]))
ctr2
总是输出0。我确定这是一个简单的解决方案,我只是不知道自己做错了什么。任何帮助将不胜感激。
答案 0 :(得分:1)
你应该将每个列表进一步切片,例如:
<ion-card>
...
<div style="width: 100%; padding: 26px; text-align:right;">
<button ion-button>Button</button>
</div>
</ion-card>
所以Counter((n0%10,n1%10,n2%10) for n0,n1,n2 in zip(my_list,my_list[1:],my_list[2:]))
中的第一个列表根本没有切片(从索引0开始),第二个列表在索引1(zip(..)
),第三个在索引2([1:]
并且如果你想要更多的列表,每个列表应该从下一个索引开始。
通过使用比较任意数量的函数,可以使它更优雅。像:
[2:]
对于from itertools import islice
from collections import Counter
def count_last_digits(data,n=2):
slices = [islice(data,i,None) for i in range(n)]
return Counter(tuple(x%10 for x in t) for t in zip(*slices))
,这将考虑每两个连续的数字。对于n=2
,这将考虑每三个连续的数字,依此类推。
例如:
n=3