我试图只返回字符串列表中单个字符的出现次数。所以下面的代码
words = ['man','map','human']
[letter for word in words for letter in word]
给出了这个输出:
['m', 'a', 'n', 'm', 'a', 'p', 'h', 'u', 'm', 'a', 'n']
当我使用set()
方法时,输出正如我所希望的那样,如下所示
words = ['man','map','human']
set([letter for word in words for letter in word ])
输出:
{'a', 'h', 'm', 'n', 'p', 'u'}
但我试图解决的问题的指示要求我不使用集合。有人可以用另一种方法来获得所需的输出。我很感激你的时间。
答案 0 :(得分:1)
好吧,不使用set
不是好主意,但以防万一,
尝试:
unique_list = []
words = ['man', 'map', 'human']
[unique_list.append(letter) for word in words for letter in word if letter not in unique_list]
print(unique_list)
将输出:
['m', 'a', 'n', 'p', 'h', 'u']
如果你想排序,unique_list.sort()
会发出
['a', 'h', 'm', 'n', 'p', 'u']
答案 1 :(得分:0)
list = ['m', 'a', 'n', 'm', 'a', 'p', 'h', 'u', 'm', 'a', 'n']
withoutduplicates = [(list[i]) for i in range (0,len(list)) if list[i] not in list[:i]]
print withoutduplicates