您的位置:

Python 程序:计算一对字符串中匹配字符数

在本教程中,我们将讨论用户如何编写一个 Python 程序来计算给定字符串对中匹配字符的数量。

我们将传递这对非空字符串。程序将计算该对字符串中匹配字符的数量。这里,我们将考虑我们传递的字符串中有重复的字符。

示例:


Input: string_1 = 'Javtpoint'
strint_2 = 'Juvpionk'
Output: no. matching characters in the pairs of strings: 6
(That is, the matching characters are: - J, v, p, i, o, n)
Input: string_1: 'zyxw531@7#'
string_2: 'xwuv234#'
Output: no. matching characters in the pairs of strings: 4
(That is, the matching characters are: - x, w, 3, #)

方法 1:

  • 步骤 1: 我们将计数器变量初始化为 0。
  • 步骤 2: 我们将从第一个字符到最后一个字符迭代第一个字符串。
  • 步骤 3: 如果从字符串 _1 中提取的字符在字符串 _2 中找到。如果 string_1 中该字符的第一个出现索引与当前提取字符的索引相同,那么它会将计数器的值增加 1。

然后我们将在 Python 中使用 string.find('character ')来查找相同的字符。如果找到,这将返回字符串中字符的第一个出现索引;否则,它将返回“-1”。

示例:


string_1 = 'zyxwvwwv'
string_1find('w') ? 3
string_1find('v') ? 4
string_1find('t') ? -1
  • 第四步:打印计数器的输出值。

例:方法 1


# First, we will define the count function
def count_1(string_1, string_2): 
    count, find_1 = 0, 0

# The loop will execute till the length of string_1 and it will 
# Stores the value of string_1 character by character and stores in "store_1" at every iteration.
    for store_1 in string_1:    

        # This will check if the extracted from of the characters of string_1 
        # is present in string_2 or not.
        if string_2.find(store_1) >= 0 and find_1 == string_1.find(store_1): 
            count += 1
        find_1 += 1
    print ('The no. matching characters in the pairs of strings: ', count)

# Main function
def main(): 
    string_1 = str(input ("Please enter the characters for String 1: "))
    string_2 = str(input ("Please enter the characters for String 2: "))
    count_1(string_1, string_2) # At last, calling the count function

# Driver Code
if __name__ == "__main__":
    main()

输出:

Please enter the characters for String 1:  ajg 78y
Please enter the characters for String 2:  gjy 23r
The no. matching characters in the pairs of strings:  2

方法 2:

  • 步骤 1: 在这个方法中,我们将使用 set()函数来移除给定字符串上的重复。
  • 步骤 2: 我们将在两个字符串上使用集合(交集)。
  • 第三步:我们将使用 len()函数计算“matched_characters_1”字符串的长度。

例 2:方法 2


# First, we will define the count function
def count_1(string_1, string_2): 
    # The set of characters of string_1
    set_string_1 = set(string_1)

    # The set of characters of string2
    set_string_2 = set(string_2)

    # We will use "&" intersection mathematical operation on the sets
    # the unique characters present in both the strings
    # will be stored in matched_characters_1 set variable
    matched_characters_1 = set_string_1 & set_string_2

    #Then, we will print the length of matched_characters_1 set
    # which will give the number of matched characters in the pair of strings.
    Print ('The number matching characters in the pairs of strings: ' + str (len (matched_characters_1)))

# Driver code
if __name__ == "__main__" :

    string_1 = str(input ("Please enter the characters for String 1: "))
    string_2 = str(input ("Please enter the characters for String 2: "))

    count_1(string_1, string_2) # At last, calling the count function

输出:

Please enter the characters for String 1:  awe ret #$65
Please enter the characters for String 2:  rty urw @!34 
The number matching characters in the pairs of strings: 4

方法 3:

  • 步骤 1: 我们将导入 Re 模块。
  • 第二步:我们将使用 re.search()函数检查 string_2 中是否存在 string_1 的任何字符,如果存在,则将 1 添加到计数器变量中。

例 3:方法 3


import re
string_1 = str(input ("Please enter the characters for String 1: "))
string_2 = str(input ("Please enter the characters for String 2: "))

count = 0
for store_1 in string_1:
    if re.search(store_1, string_2):
        count = count + 1
print ('The number matching characters in the pairs of strings: ', count)

输出:

Please enter the characters for String 1: learning
Please enter the characters for String 2: working
The number matching characters in the pairs of strings: 5

结论

在本教程中,我们讨论了编写 Python 程序来计算给定字符串对中匹配字符数量的不同方法。