Hướng dẫn how do you compare individual characters in two strings in python? - làm thế nào để bạn so sánh các ký tự riêng lẻ trong hai chuỗi trong python?

Tôi đang cố gắng so sánh ký tự đầu tiên của hai chuỗi khác nhau (v.v.) để tạo thành một chuỗi mới dựa trên các kết quả đó. Đây là những gì tôi đã thử sử dụng, tuy nhiên nó so sánh mọi yếu tố của mỗi danh sách với nhau.

def compare(a,b):
    s = ""
    for x in a:
        for y in b:
            if x == y:
                s+=str(x)
            else:
                s+=str(y)

Có vẻ như là một câu hỏi đơn giản nhưng tôi bị mắc kẹt.

Hướng dẫn how do you compare individual characters in two strings in python? - làm thế nào để bạn so sánh các ký tự riêng lẻ trong hai chuỗi trong python?

hỏi ngày 11 tháng 2 năm 2016 lúc 0:56Feb 11, 2016 at 0:56

2

Sử dụng zip:

def compare(a, b):
    for x, y in zip(a, b):
        if x == y:
            ...

Đã trả lời ngày 11 tháng 2 năm 2016 lúc 0:56Feb 11, 2016 at 0:56

Hướng dẫn how do you compare individual characters in two strings in python? - làm thế nào để bạn so sánh các ký tự riêng lẻ trong hai chuỗi trong python?

L3viathanL3viathanL3viathan

Phim thương hiệu vàng 26K257 Huy hiệu bạc76 Huy hiệu đồng2 gold badges57 silver badges76 bronze badges

Có lẽ bạn đang tìm kiếm một cái gì đó có logic tương tự như thế này? Nó chọn ký tự trước đó về mặt bảng chữ cái từ mỗi chuỗi đầu vào:

def compare(a,b):
    s = ""
    for i in range(len(a)):
        if a[i] < b[i]:
            s+=str(a[i])
        else:
            s+=str(b[i])
    return s

print compare ("seven", "eight")

Output:

eegen

Phiên bản một dòng của điều này là

return ''.join(a[i] if a[i] < b[i] else b[i] for i in range(len(a)))

Đã trả lời ngày 11 tháng 2 năm 2016 lúc 0:59Feb 11, 2016 at 0:59

Hướng dẫn how do you compare individual characters in two strings in python? - làm thế nào để bạn so sánh các ký tự riêng lẻ trong hai chuỗi trong python?

PruneprunePrune

76K14 Huy hiệu vàng57 Huy hiệu bạc76 Huy hiệu đồng14 gold badges57 silver badges76 bronze badges

input(x)
input(y)
cnt = 0
 for char_val in x:
   if b[cnt] == char_val:
      print("match")
   else:
      print("mis-match")

Hướng dẫn how do you compare individual characters in two strings in python? - làm thế nào để bạn so sánh các ký tự riêng lẻ trong hai chuỗi trong python?

EYLLLANESC

227K18 Huy hiệu vàng136 Huy hiệu bạc206 Huy hiệu đồng18 gold badges136 silver badges206 bronze badges

Đã trả lời ngày 7 tháng 10 năm 2019 lúc 19:05Oct 7, 2019 at 19:05

1

Đây là một chức năng hoàn chỉnh

def compare_strings(a,b):
    result = True
    if len(a) != len(b): print('string lengths do not match!')
    for i,(x,y) in enumerate(zip(a,b)):
        if x != y:
            print(f'char miss-match {x,y} in element {i}')
            result = False
    if result: print('strings match!')
    return result

Đã trả lời ngày 2 tháng 7 năm 2020 lúc 8:52Jul 2, 2020 at 8:52

Hướng dẫn how do you compare individual characters in two strings in python? - làm thế nào để bạn so sánh các ký tự riêng lẻ trong hai chuỗi trong python?

Gustavzgustavzgustavz

2.6503 huy hiệu vàng23 Huy hiệu bạc41 Huy hiệu đồng3 gold badges23 silver badges41 bronze badges

def twoStrings(s1, s2):
for i in range(len(s1)):
    for j in range(len(s2)):
        if s2[j] == s1[i]:
            return 'YES'
return 'NO'

Đã trả lời ngày 27 tháng 9 năm 2020 lúc 8:26Sep 27, 2020 at 8:26

1

Chúng ta có thể viết phương pháp đơn giản và dễ dàng để so sánh các chữ cái tương tự trong hai chuỗi

def compare(a,b):
    s = ""
    t=""
    for x in a:
        for y in b:
            if x == y:
                t=x
        s=s+t
    print(s)

compare("xyz","axy")

Ở đây đầu tiên for loop sẽ so sánh từng chữ cái trong chuỗi và hiển thị tất cả các ký tự tương tự.

think-maths

8472 Huy hiệu vàng9 Huy hiệu bạc27 Huy hiệu đồng2 gold badges9 silver badges27 bronze badges

Đã trả lời ngày 13 tháng 1 năm 2021 lúc 8:20Jan 13, 2021 at 8:20