首页 > 解决方案 > #如何过滤给定元组中的回文数并将其保存在元组中

问题描述

如何过滤给定元组中的回文数并将其保存在元组中?

我的代码:

w = (10,11,12,21,22,101,123,111,152)

for i in w:
    if i[:]==i[-1:]:
        print(i)

Error : TypeError                                 Traceback (most recent call last)
<ipython-input-143-b2b3cfdef377> in <module>
      7 
      8 for i in w:
----> 9     if i[:]==i[-1:]:
     10         print(i)

TypeError: 'int' object is not subscriptable

标签: python

解决方案


您不能将索引用于整数值。

  1. i[:]不起作用。_
  2. str(i)[:]作品。

str(i)[:]一样str(i)str(i)[-1:]只取数字的最后一位。

如果您想将数字反转,您必须使用str(i)[::-1].

这应该可以正常工作:

w = tuple(i for i in w if str(i) == str(i)[::-1])
print(w)

检查以更好地理解切片运算符:


推荐阅读