Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中,如何从另一个字符串中检测字符串的重复元素?_Python_String_List_Duplicates_Detection - Fatal编程技术网

在python中,如何从另一个字符串中检测字符串的重复元素?

在python中,如何从另一个字符串中检测字符串的重复元素?,python,string,list,duplicates,detection,Python,String,List,Duplicates,Detection,那么,在python中,我将如何从另一个字符串中找到一个重复的字符串元素,在大部分情况下使用一到两行或快速修复 比如说, str1 = "abccde" str2 = "abcde" # gets me c 通过使用str2,发现str1中存在重复的元素,因此检测到str1中存在str2中元素的重复。不确定是否有办法通过.count来完成,比如str1.count(str2)之类的 我在我的刽子手任务中使用了这个上下文,我是一个初学者,所以我们主要使用内置函数和任务的基础知识,我的循环中有一段

那么,在python中,我将如何从另一个字符串中找到一个重复的字符串元素,在大部分情况下使用一到两行或快速修复

比如说,

str1 = "abccde"
str2 = "abcde"
# gets me c
通过使用str2,发现str1中存在重复的元素,因此检测到str1中存在str2中元素的重复。不确定是否有办法通过.count来完成,比如str1.count(str2)之类的

我在我的刽子手任务中使用了这个上下文,我是一个初学者,所以我们主要使用内置函数和任务的基础知识,我的循环中有一段代码会一直打印,因为它会对双字母进行编码

喂,研磨,调制

因此,我几乎创建了一个“已使用”字符串,我试图将其与我的正确字母列表进行比较,猜测是“附加”的,因此我可以避免这种情况

注意:它们将被输入,所以如果有意义的话,我不能说或只是硬编码字母c

谢谢大家!

再见

您基本上是在两个字符串之间搜索一个diff函数。适应

输出

abcccde => abcde
The second string is missing the "c" in position 3 of the first string
The second string is missing the "c" in position 4 of the first string
希望这对你有帮助,祝你度过愉快的一天,
安东尼诺

再见

您基本上是在两个字符串之间搜索一个diff函数。适应

输出

abcccde => abcde
The second string is missing the "c" in position 3 of the first string
The second string is missing the "c" in position 4 of the first string
希望这对你有帮助,祝你度过愉快的一天,

安东尼诺

使用
设置
str.count

def find_dup(str1, str2):
    return [i for i in set(str1) if str1.count(i) > 1 and i in set(str2)]
输出:

find_dup("abccde", "abcde")
# ['c']
find_dup("abcdeffghi" , "aaaaaabbbbbbcccccddeeeeefffffggghhiii") # from comment
# ['f']

使用
set
str.count

def find_dup(str1, str2):
    return [i for i in set(str1) if str1.count(i) > 1 and i in set(str2)]
输出:

find_dup("abccde", "abcde")
# ['c']
find_dup("abcdeffghi" , "aaaaaabbbbbbcccccddeeeeefffffggghhiii") # from comment
# ['f']

我的猜测是,可能您正在尝试编写一个类似于以下内容的方法:

def duplicate_string(str1: str, str2: str) -> str:
    str2_set = set(str2)
    if len(str2_set) != len(str2):
        raise ValueError(f'{str2} has duplicate!')

    output = ''
    for char in str1:
        if char in str2_set:
            str2_set.remove(char)
        else:
            output += char

    return output


str1 = "abccccde"
str2 = "abcde"

print(duplicate_string(str1, str2))
输出
在这里,如果str2本身有一个重复项,我们将首先引发一个错误。然后,我们将循环遍历
str1
,或者从
str1\u集
中删除一个字符,或者将重复项追加到
输出
字符串中

我的猜测是,可能您正在尝试编写一个类似于以下内容的方法:

def duplicate_string(str1: str, str2: str) -> str:
    str2_set = set(str2)
    if len(str2_set) != len(str2):
        raise ValueError(f'{str2} has duplicate!')

    output = ''
    for char in str1:
        if char in str2_set:
            str2_set.remove(char)
        else:
            output += char

    return output


str1 = "abccccde"
str2 = "abcde"

print(duplicate_string(str1, str2))
输出
在这里,如果str2本身有一个重复项,我们将首先引发一个错误。然后,我们将循环遍历
str1
,或者从
str1\u集
中删除一个字符,或者将重复项追加到
输出
字符串中 STR2包含更多的DUP,如<代码> ABCCDCdE <代码>或字母不存在于<代码> STR1 > <代码> ABCDEZ ?也许您应该考虑一个列表或SET,而不是一个字符串来跟踪猜测。这将使你的任务更容易
如果“abccde”中的“c”:print('detected“c)”)
@PartialOrder如果我只想在列表中执行,我该怎么做?@Chris detector几乎只关心str 1是否与str 2中的任何char元素有任何重复,因此
str1=“abcdeffgi”str2=“aaaaaa bbbbbb ccc ddeeefffgghhii”和STR1将给我信,如果<代码> STR2包含更多的DUP,如<代码> ABCCDCdE <代码>或字母不存在于<代码> STR1 > <代码> ABCDEZ 。也许您应该考虑一个列表或SET,而不是一个字符串来跟踪猜测。这将使你的任务更容易<代码>如果“abccde”中的“c”:print('detected“c)”)
@PartialOrder如果我只想在列表中执行,我将如何执行它?@Chris detector只关心str 1是否与str 2中的任何char元素有任何重复项,因此
str1=“abcdeffhi”str2=“aaaaaa bbbbbb ccc ddeeefffgfgghhii”
并且str1会给我定字母f