Discuss / Python / 顺便复习一下迭代器reversed()

顺便复习一下迭代器reversed()

Topic source

林宇璇Lynn

#1 Created at ... [Delete] [Delete and Lock User]

思路步骤:

1. 将int转换成字符串,

n = 121

str(n) # '121'

2.字符串再存入列表,

nstr = list(str(n)) # ['1', '2', '1']

3. 将列表反转后与原列表相等,则为回数

反转列表,如果用ls.reverse(), 返回值为空,直接在原数据上修改,ls此时指向的数据不变,但是数据被反转了;

用reversed(Iterable),返回值为一个反转迭代器,用list()调出所有元素生成列表

nrev = list(reversed(nstr)) #['1', '2', '1']

此时只用比较nstr和nrev两个列表是否相等即可 返回bool运算结果

HERE WE GO!!

def is_palindrome(n):

    nstr = list(str(n))

    nrev = list(reversed(nstr))#reversed()函数是一个反转迭代器,需要用list把元素全部调用出来

    return nrev == nstr


  • 1

Reply