加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 使用列表理解而不是函数

发布时间:2020-12-20 12:14:52 所属栏目:Python 来源:网络整理
导读:我正在尝试编写一个 Python程序,它计算字符串长度为2或更多的字符串数,并且给定的字符串列表中的第一个和最后一个字符是相同的. 样本清单:[‘abc’,’xyz’,’aba’,’1221′] – 预期答案是2 我有使用函数的代码,但我很想知道是否有一种更简单的方法来使用
我正在尝试编写一个 Python程序,它计算字符串长度为2或更多的字符串数,并且给定的字符串列表中的第一个和最后一个字符是相同的.

样本清单:[‘abc’,’xyz’,’aba’,’1221′] – 预期答案是2

我有使用函数的代码,但我很想知道是否有一种更简单的方法来使用列表理解来编写它.

我写了下面的代码,但它不起作用.是因为这个问题无法解决列表理解问题,还是因为我的代码出了问题?

li=['abc','xyz','aba','1221']
li.count(x for x in li if len(x)>1 and x[0] == x[-1])

解决方法

list.count计算列表中给定值的出现次数.更合适的是,您可以使用sum与生成器理解:

li = ['abc','1221']

res = sum((len(x) >= 2) and (x[0] == x[-1]) for x in li)  # 2

这是有效的,因为bool是int的子类,即True == 1和False == 0.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读