首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用python编写函数remove_duplicates

用python编写函数remove_duplicates
EN

Stack Overflow用户
提问于 2017-03-17 00:24:43
回答 3查看 5.4K关注 0票数 0

编写一个名为remove_duplicates的函数,该函数将接受一个名为string的参数。此字符串输入将只包含a-z之间的字符。

该函数应删除字符串中的所有重复字符,并返回一个包含两个值的元组:

仅包含唯一排序字符的新字符串。

已删除的重复项总数。

例如:

代码语言:javascript
复制
remove_duplicates('aaabbbac') => ('abc', 5)

remove_duplicates('a') => ('a', 0)

remove_duplicates('thelexash') => ('aehlstx', 2)

这是我的解决方案,我是python的新手:

代码语言:javascript
复制
string = raw_input("Please enter a string...")

def remove_duplicates(string):
  string = set(string)
  if only_letters(string):
    return (string, string.length)
  else:
    print "Please provide only alphabets"

remove_duplicates(string)

我可能做错了什么?这是我在下面得到的错误

代码结果中有一个错误/BUG: /bin/sh: 1: python/nose2/bin/nose2: not found

谢谢。

EN

回答 3

Stack Overflow用户

发布于 2017-03-18 00:12:19

这个很好用。应该对输出进行排序。

代码语言:javascript
复制
def remove_duplicates(string):
   new_string = "".join(sorted(set(string)))
   if new_string:
     return (new_string, len(string)-len(new_string))
   else:
     print "Please provide only alphabets"

不需要包括以下内容:

代码语言:javascript
复制
string = raw_input("Please enter a string...")

remove_duplicates(string)
票数 2
EN

Stack Overflow用户

发布于 2017-03-17 00:46:49

由于顺序并不重要,因此可以使用

代码语言:javascript
复制
string = raw_input("Please enter a string...")

def remove_duplicates(string):
   new_string = "".join(set(string))
   if new_string:
     return (new_string, len(string)-len(new_string))
   else:
     print "Please provide only alphabets"

 remove_duplicates(string)

Please enter a string...aaabbbac
Out[27]: ('acb', 5)

set()将在字符串中创建一组唯一的字母,"".join()将以任意顺序将这些字母连接回字符串。

票数 0
EN

Stack Overflow用户

发布于 2017-03-17 16:01:49

我从我正在做的一个测试中收到了相同的错误,我觉得错误不是来自你的一端,而是测试人员的一端

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42839601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档