【廖雪峰python教程filter练习题】回数是指从左向右读和从右向左读都是一样的数,例如12321,909。请利用filter()筛选出回数 |
您所在的位置:网站首页 › 鞠婧祎和赵薇的关系 › 【廖雪峰python教程filter练习题】回数是指从左向右读和从右向左读都是一样的数,例如12321,909。请利用filter()筛选出回数 |
【廖雪峰python教程filter练习题】回数是指从左向右读和从右向左读都是一样的数,例如12321,909。请利用filter()筛选出回数
原创
wx5ab712ac69546 2022-02-11 15:51:47 博主文章分类:python与opencv ©著作权 文章标签 廖雪峰 python 字符串 javascript d3 文章分类 Python 后端开发 ©著作权归作者所有:来自51CTO博客作者wx5ab712ac69546的原创作品,请联系作者获取转载授权,否则将追究法律责任题目链接: https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431821084171d2e0f22e7cc24305ae03aa0214d0ef29000 正确实践 def is_palindrome(n): return str(n)==str(n)[::-1]output = filter(is_palindrome, range(1, 1000))print(list(output))解读 回文正序和逆序是相同的 。str(n)必须要有改成n == n[::-1]后报错如下: return n==n[::-1]TypeError: 'int' object is not subscriptablestr字符串有可以切片操作,而int不行正确实践2 def is_palindrome(n): s=str(n) if len(s)==1: return True else: lst=[c for c in s] new_lst=[] for x in range(len(lst)): new_lst.append(lst[len(lst)-x-1]) if (''.join(new_lst))==s: return True else: return Falseoutput = filter(is_palindrome, range(1, 1000))print(list(output))解析 1、 .join() 把列表变成字符串 2、 split() 把字符串转换成列表 s=str(n)这一步后len(s)这一步才正确 (完) 赞 收藏 评论 分享 举报上一篇:[廖雪峰python教程切片练习题]利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法。 下一篇:How to call integral() in python directly ? |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |