【问题标题】:How do I limit the number of times a character appears in a string in python? [duplicate]如何限制字符出现在python字符串中的次数? [复制]
【发布时间】:2019-10-21 01:04:12
【问题描述】:

我是初学者,从我开始学习 python 到现在已经有两个月了。

我编写了一个关于函数的代码,该函数接受两个字符串,并输出这两个字符串之间的公共字符。我的代码的问题是它返回两个输入具有的所有常见字符。例如:

输入:普通,白痴

输出是“oommoon”,理想情况下应该是“omn”。

我尝试过使用 count() 函数,然后是 replace 函数,但它最终完全替换了输出中多次出现的字母。

我应该怎么做呢?我的意思是,对于这里的大多数人来说,这可能是一个简单的解决方案,但是最简单的方法是什么,让我,一个对基础知识还不错的初学者,理解它?

【问题讨论】:

  • 欢迎来到本站!有时困难的部分是知道要搜索什么。上面的参考应该能让你到达那里。

标签: python


【解决方案1】:

你可以使用一个集合,只要最终字符的顺序无关紧要。

首先,用一组交集将两个字符串连接在一起。

string_1 = "common"
string_2 = "moron"
set_1 = set(string_1).intersection(set(string_2))

最后,通过将所有字符连接在一起,将其转换回字符串。

result = "".join(set_1)

或者,全部在一行中:

"".join(set(string_1).intersection(set(string_2)))

这将返回"mno"

【讨论】:

    【解决方案2】:

    也许用这个:

    s1 = input('Word 1:  ')
    s2 = input('Second word:  ')
    difflist = []
    for letter in s2:
        if letter in s1 and letter not in difflist: difflist.append(letter)
        else: continue
    for letter in s1:
        if letter in s2 and letter not in difflist: difflist.append(letter)
        else: continue
    for item in difflist:
        print(item)
    

    输出:

    ============================== RESTART: D:\x.py ==============================
    Word 1:  common
    Second word:  moron
    m
    o
    n
    

    【讨论】:

      【解决方案3】:

      你可以试试这个:

      ''.join(set(s1).intersection(set(s2)))

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-12-03
        • 2016-06-21
        • 2019-07-14
        • 2018-07-31
        • 2013-03-12
        • 1970-01-01
        • 2023-03-27
        • 2014-05-26
        相关资源
        最近更新 更多