【发布时间】:2017-06-23 15:47:46
【问题描述】:
我正在尝试一个关于正则表达式的示例练习。找到字母表中的所有字母。对数组进行排序,最后消除所有重复。
>>> letterRegex = re.compile(r'[a-z]')
>>> alphabets = letterRegex.findall("The quick brown fox jumped over the lazy dog")
>>> alphabets.sort()
>>> alphabets
['a', 'b', 'c', 'd', 'd', 'e', 'e', 'e', 'e', 'f', 'g', 'h', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'o', 'o', 'o', 'p', 'q', 'r', 'r', 't', 'u', 'u', 'v', 'w', 'x', 'y', 'z']
完成排序后,我尝试创建一个循环来消除数组中的所有重复。 例如 [...'e', 'e'...]
所以我这样做了
>>> i, j = -1,0
>>> for items in range(len(alphabets)):
if alphabets[i+1] == alphabets[j+1]:
alphabets.remove(alphabets[j])
但是没有用。如何删除重复?
【问题讨论】:
-
您发布的代码不会产生您显示的结果。请使用您正在使用的确切代码及其产生的结果更新您的帖子
-
摆脱重复的字母,你可以这样做
list(set(alphabets)).sort() -
我不小心关闭了 shell,现在我不确定是什么代码给出了这些结果。但我会编辑问题,谢谢。
标签: python arrays loops sorting