【发布时间】:2022-01-24 16:52:25
【问题描述】:
我有一个格式列表:
my_list= [['ezis', 0], ['camera', 15], ['size', 0], ['esu', 16], ['take', 4],
['pictur', 26], ['tnaw', 46], ['thing', 49], ['ilno', 8],.....]
我想看看末尾的数字是否与字符串的倒数匹配(例如,在此列表中,['ezis', 0] 和 ['size', 0] 将相互匹配,因为它们的最终值都是 0 并且'size' 反转为 'ezis'。然后我想记录这些匹配的数量。
到目前为止,我有:
matches = 0
for x,y in my_list:
if (x[0]==y[0][::-1]) and x[1]==y[1]:
matches+=1 #a match is found
但是我遇到了一个错误,不知道还有什么方法可以解决这个问题
有人可以帮忙吗?
【问题讨论】:
-
size和ezis应该算作 2 还是 1? -
你得到的错误是什么?为什么您希望该代码能够工作?
for x, y in my_list在第一次迭代中设置x = 'ezis'和y = 0。您的代码不会将子列表中的字符串相互比较。它所做的只是比较x的第一个字符与y的“第一个元素”(这是不可能的,因为y是一个整数),以及x的第二个字符与第二个元素y(同样,y是一个整数,所以这是不可能的)
标签: python list for-loop nested-lists