比较两个字符串中的字符

2024-04-16 20:27:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我从用户那里收到两个字符串输入:acela laced。你知道吗

我使用字符串并将其拆分成一个列表。 s = ['acela', 'laced']我调用s1=s[0]s2=s[1]。你知道吗

现在我要比较s1和s2,这样: 如果len(s1)==len(s2)并且s2的所有单个字符都在s1中(顺序匹配不相关),则打印“是”,否则打印“否”

我已经尝试了一些编码,但我的输出要么是不正确的,要么他们去是不是每一个字母进行比较。我只希望在每次比较的最后有一个输出-s1和s2的是或否。你知道吗

def compare(s1,s2):  
    if len(s1) == len(s2):
        for i in s2:
            if i in s1:
                print('yes')
            else:
                print('no')

(上面的代码是我的想法,不是一个精确的复制粘贴。)基本上,我想要的是如果字符串的长度和单个字母匹配,然后打印Yes else No。例如:在我上面给出的示例中,答案应该是No,因为laced的“d”在S1中不存在。(S1是主列表,S2应与S1进行比较。)

示例: 输入:

axle lxae
aaabab bacdba
ababa bbaaa

输出:

Yes
No
Yes

我该怎么办?你知道吗


Tags: no字符串in列表lenif字母else
3条回答
def compare(s1,s2):
    s1_list = list(s1)
    s2_list = list(s2)
    s1_list.sort()
    s2_list.sort()
    return 'yes' if s1_list == s2_list else 'no'

正在测试示例字符串。。。你知道吗

x = '''axle lxae
aaabab bacdba
ababa bbaaa'''

for line in x.split('\n'):
    print(compare(*line.split()))
# yes
# no
# yes
s1,s2=map(str,input().split())
print(sorted(s1)==sorted(s2))

我的python技能是最强的,但这应该是可行的。我不会说这是最好的实现,但它会起作用。你知道吗

   def compare(s1,s2):  
    if len(s1) == len(s2):
        for i in s2:
            if i in s1:
                continue
            else:
                print('no')
                return;

        print('yes')
        return;
    print('no')

我删除了另一个,这是我个人的喜好。你知道吗

def compare(s1,s2):  
    if len(s1) != len(s2):
        print('no')
        return

    for i in s2:
        if i not in s1:
            print('no')
            return

    print('yes')

相关问题 更多 >