【问题标题】:Replacing element of a string and of a list替换字符串和列表的元素
【发布时间】:2021-12-19 14:46:08
【问题描述】:

我在这里有几个与替换字符串的字母和元素有关的问题。 我使用一个新列表并在那里打印 * 和使用 if 的字母。但是我正在尝试使用 python,所以如果有人可以帮助我,我会非常高兴:)

  1. 为什么这段代码不起作用?我认为一切都应该是正确的,但我得到了相同的输出并且字符串没有改变。
    def find_a_common(list, string):
        for word in list:
            for letter in word:
                if letter in string:
                    string.replace(letter, "*")
        return string
    print(find_a_common(["ala"], "Kasia"))
  1. 为什么这段代码不起作用?当一切正确且代码有效时,我有类似的示例?
    def find_a_common(list, string):
        a = []
        for word in list:
            for letter in word:
                list = ["*" for letter in list if letter in string else letter for letter in list]
        return list
    print(find_a_common(["ala"], "Kasia"))

例子:

>>> a=[1,2,3,1,3,2,1,1]
>>> [4 if x==1 else x for x in a]
[4, 2, 3, 4, 3, 2, 4, 4]
  1. 在这种情况下,三重循环是否可行?如何构建这样的东西。
    def find_a_common(list, string):
        for letter in string:
            for word in list:
                for letter in list:
                    if letter in list:
                        string.replace(letter, "*")
        return string
    print(find_a_common(["ala"], "Kasia"))

【问题讨论】:

  • str.replace 返回一个新字符串。它不会改变调用它的字符串!
  • 那么,如何使用这个获得正确的输出?
  • string = string.replace(letter, "*")
  • 你想用 2 和 3 实现什么?您能否添加具有所需输出的示例?
  • 3 个练习的愿望输出相同。例如 Ksi

标签: python string list replace


【解决方案1】:

在 Q1 第 5 行,用此行修改

string=string.replace(letter, "*")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-26
    • 1970-01-01
    • 2021-09-26
    • 1970-01-01
    • 2018-10-13
    • 2018-11-05
    相关资源
    最近更新 更多