使用 Python 3 的字符串练习

wapadunk

编写一个名为 的函数remove_duplicates,它将接受一个名为 的参数stringstring输入将only have characters between a-z. 该函数应该删除字符串中的所有重复字符并返回一个具有两个值的元组:

  • 一个只有唯一的排序字符的新字符串。
  • 重复的总数下降了。

例如:

  • remove_duplicates('aaabbbac') 应该产生 ('abc')
  • remove_duplicates('a') 应该产生 ('a', 0)
  • remove_duplicates('thelexash') 应该产生 ('aehlstx', 2)

我的代码:

    def remove_duplicates(string):

        for string in "abcdefghijklmnopqrstuvwxyz":

            k = set(string)

            x = len(string) - len(set(string))

            return k, x

    print(remove_duplicates("aaabbbccc"))

预期输出:

我期待它打印({a, b, c}, 6)而不是打印({a}, 0).

我上面的代码有什么问题?为什么它没有产生我所期望的?

点.Py

如果您不迭代字符串中的每个字符,您将获得预期的结果。

我已经对您的代码进行了注释,以便您可以看到您的脚本和我的脚本之间的区别。


非工作注释代码:

def remove_duplicates(string):

    #loop through each char in "abcdefghijklmnopqrstuvwxyz" and call it "string"
    for string in "abcdefghijklmnopqrstuvwxyz":

        #create variable k that holds a set of 1 char because of the loop
        k = set(string)

        # create a variable x that holds the difference between 1 and 1 = 0
        x = len(string) - len(set(string))

        #return these values in each iteration
        return k, x

print(remove_duplicates("aaabbbccc"))

输出:

({'a'}, 0)

工作代码:

def remove_duplicates(string):

    #create variable k that holds a set of each unique char present in string
    k = set(string)

    # create a variable x that holds the difference between 1 and 1 = 0
    x = len(string) - len(set(string))

    #return these values
    return k, x

print(remove_duplicates("aaabbbccc"))

输出:

({'b', 'c', 'a'}, 6)

Ps:如果你希望你的结果是有序的,你可以return k, x改为return sorted(k), x,但输出将是一个列表。

(['a', 'b', 'c'], 6)

编辑:如果您希望代码仅在满足特定条件时运行 - 例如,仅在字符串没有任何数字时运行 - 您可以添加一个 if/else 子句:

示例代码:

def remove_duplicates(s):

    if not s.isdigit():
        k = set(s)
        x = len(s) - len(set(s))
        return sorted(k), x
    else:
        msg = "This function only works with strings that doesn't contain any digits.."
        return msg


print(remove_duplicates("aaabbbccc"))
print(remove_duplicates("123123122"))

输出:

(['a', 'b', 'c'], 6)
This function only works with strings that doesn't contain any digits..

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

CodingBat练习问题-Python字符串

来自分类Dev

CodingBat练习问题-Python字符串

来自分类Dev

使用字符串python 3识别对象

来自分类Dev

如何使用Python 3中的几个字符串键创建随机字符串

来自分类Dev

如何在python3中使用搜索从主字符串获取空格前后的子字符串?

来自分类Dev

Python 3:如何允许在定义的字符串中使用字母(字符串)作为参数

来自分类Dev

在python字符串中使用“ \”字符

来自分类Dev

使用adler32对Python 3字符串进行确定性哈希

来自分类Dev

在Python 3中使用UTF-8解码VIEWSTATE字符串

来自分类Dev

在Python 3和Matplotlib中使用带有字符串的格式的无效语法错误

来自分类Dev

在Python 3中对多个项目使用相同的字符串格式

来自分类Dev

Python3:使用未转义的反斜杠创建字符串

来自分类Dev

Python3-在字符串格式化程序参数内使用变量

来自分类Dev

使用字符串似乎比在Python 3.x中要麻烦得多。

来自分类Dev

如何使用python3分割字符串

来自分类Dev

断言使用方法调用字符串时如何通配符?Python3模拟

来自分类Dev

WebCrawler:在Mac上使用Python3从数组中提取字符串

来自分类Dev

在终端中使用字典将字符串打印为垂直横幅。PYTHON3

来自分类Dev

在Python 3中使用子字符串函数时出现TypeError

来自分类Dev

Python3.x-使用字典计算所有子字符串的出现

来自分类Dev

在Python 3.x中使用random.shuffle扰乱字符串

来自分类Dev

使用Python 3 re.sub进行字符串替换

来自分类Dev

将字符串与在Python 2和3中均可使用的字节进行比较

来自分类Dev

使用正则表达式和python 3在字符串中查找模式

来自分类Dev

如何使用 unicode_literals 在 Python3 或 2.7 中创建 ASCII 字符串

来自分类Dev

在 Python3 中使用字典键创建一行字符串

来自分类Dev

在 Python 中使用 Sqlite3 从字符串中过滤掉单词

来自分类Dev

Python 3.x - 使用字符串打印没有填充的钻石

来自分类Dev

Python 挑战级别 3 - 使用字符串切片解决

Related 相关文章

  1. 1

    CodingBat练习问题-Python字符串

  2. 2

    CodingBat练习问题-Python字符串

  3. 3

    使用字符串python 3识别对象

  4. 4

    如何使用Python 3中的几个字符串键创建随机字符串

  5. 5

    如何在python3中使用搜索从主字符串获取空格前后的子字符串?

  6. 6

    Python 3:如何允许在定义的字符串中使用字母(字符串)作为参数

  7. 7

    在python字符串中使用“ \”字符

  8. 8

    使用adler32对Python 3字符串进行确定性哈希

  9. 9

    在Python 3中使用UTF-8解码VIEWSTATE字符串

  10. 10

    在Python 3和Matplotlib中使用带有字符串的格式的无效语法错误

  11. 11

    在Python 3中对多个项目使用相同的字符串格式

  12. 12

    Python3:使用未转义的反斜杠创建字符串

  13. 13

    Python3-在字符串格式化程序参数内使用变量

  14. 14

    使用字符串似乎比在Python 3.x中要麻烦得多。

  15. 15

    如何使用python3分割字符串

  16. 16

    断言使用方法调用字符串时如何通配符?Python3模拟

  17. 17

    WebCrawler:在Mac上使用Python3从数组中提取字符串

  18. 18

    在终端中使用字典将字符串打印为垂直横幅。PYTHON3

  19. 19

    在Python 3中使用子字符串函数时出现TypeError

  20. 20

    Python3.x-使用字典计算所有子字符串的出现

  21. 21

    在Python 3.x中使用random.shuffle扰乱字符串

  22. 22

    使用Python 3 re.sub进行字符串替换

  23. 23

    将字符串与在Python 2和3中均可使用的字节进行比较

  24. 24

    使用正则表达式和python 3在字符串中查找模式

  25. 25

    如何使用 unicode_literals 在 Python3 或 2.7 中创建 ASCII 字符串

  26. 26

    在 Python3 中使用字典键创建一行字符串

  27. 27

    在 Python 中使用 Sqlite3 从字符串中过滤掉单词

  28. 28

    Python 3.x - 使用字符串打印没有填充的钻石

  29. 29

    Python 挑战级别 3 - 使用字符串切片解决

热门标签

归档