【问题标题】:how to count unique strings in a list [duplicate]如何计算列表中的唯一字符串[重复]
【发布时间】:2018-10-09 20:51:02
【问题描述】:

我有一个由数字和名称组成的列表。

lst = ['new car', '232', 'famous bike','232', 'new car', '232plane', 'new car', 'plane232']

我只想计算new car, famous bike 之类的单词,而不是数字或字母数字。

输出将为 2,因为有两个唯一的词:汽车、自行车。

我知道有一个简单的答案,但我无法理解它。

谢谢。

【问题讨论】:

  • 不确定“纯字符串”是什么意思——为什么“232”不是纯字符串?另外:请编辑您的问题以显示您尝试过的内容以及遇到的问题。
  • 你尝试了什么?甚至不是天真的循环——而是有效的循环?
  • 对不起,我的错。我不能早点回答这些重复的问题。谢谢。 @usr2564301

标签: python python-3.x pandas


【解决方案1】:

您可以使用str.isalpha 来确定字符串是否仅包含字母。然后从中创建一个set(以创建一个包含唯一元素的容器),然后确定该set的长度

>>> len(set(i for i in lst if i.isalpha()))
2

【讨论】:

  • 谢谢你 cory :) 但我已经用新的输入更新了列表。您的解决方案不能解决这种情况。 @CoryKramer
  • @YOLO 对于您的更新列表,您可以尝试:len(set(x for x in lst if x.replace(' ', '').isalpha()))
猜你喜欢
  • 2013-09-10
  • 1970-01-01
  • 2021-07-16
  • 1970-01-01
  • 2018-11-22
  • 1970-01-01
  • 2020-06-27
  • 1970-01-01
  • 2019-09-05
相关资源
最近更新 更多