how to count unique strings in a list
我有一个由数字和名字组成的清单。
1
| lst = ['new car', '232', 'famous bike','232', 'new car', '232plane', 'new car', 'plane232'] |
我只想计算像new car, famous bike这样的单词,而不是数字或字母数字。
输出将是2,因为有两个独特的词:汽车,自行车。
我知道有一个简单的答案,但我无法理解。
谢谢。
- 不知道"纯字符串"是什么意思——为什么"232"不是纯字符串?另外:请编辑您的问题,以显示您尝试了什么以及您被困在哪里。
- 你什么都没试?即使不是一个简单的循环,而是工作循环?
- 对不起,我的错。我不能早点回答这些重复的问题。谢谢。@2564301美元
可以使用str.isalpha来确定字符串是否只包含字母。然后从中制作一个set(制作一个包含独特元素的容器),然后确定该set的长度。
1 2
| >>> len(set(i for i in lst if i.isalpha()))
2 |
- 谢谢你,科里:)但是我用一个新的输入更新了列表。你的解决方案不能解决这个问题。@克雷克雷默
- @约罗,你可以试试更新后的名单:len(set(x for x in lst if x.replace(' ', '').isalpha()))。