使用列表返回两个名字中的共同字母列表,Python实现

0 投票
3 回答
2765 浏览
提问于 2025-04-17 07:11

我需要用列表来找出一个名字和姓氏中都有的字母。可是我不能使用集合。现在我有了一些代码,但有点卡住了。我知道我需要用到 in 这个操作符来检查哪些字符在名字和姓氏中。然后把共同的字符添加到一个空列表 common 里。不过我对语法有点困惑,需要一些帮助。

def firstAndLast(first,last):
    common = []
    if first in last:
        print first


first = list(raw_input("Enter first name: "))
last = list(raw_input("Enter last name: "))

firstAndLast(first, last)

3 个回答

-1

在编程中,有时候我们会遇到一些问题,可能是因为代码写得不够好,或者是我们对某些概念理解得不够透彻。比如,有人可能在使用某个库或者框架时,发现它的功能和自己想要的不太一样。这种情况下,最好的办法就是查阅相关的文档,看看别人是怎么解决类似问题的。

另外,编程社区,比如StackOverflow,提供了一个很好的平台,大家可以在这里提问和回答问题。通过这个过程,我们不仅可以找到解决方案,还能学习到其他人的经验和技巧。

总之,遇到问题时,不要着急,先冷静下来,查找资料,向社区求助,通常都能找到解决办法。

def common_name(first,last):
    common_char=[]

    for i in first:
        if i in last:
            common_char.append(i)

        else:
            pass
    print(common_char)

common_name("prince","pate")
2

你需要对第一个字符串中的字母进行循环:

for letter in first:
    if letter in last:
        print letter

不过你可能还要考虑重复字母的问题(比如在“Stephen”和“Colbert”中,“e”会被打印两次),还有字母的大小写(比如在“Samuel”和“Adams”中,“S”和“s”是不同的)。

2
def firstAndLast(firstName, lastName):
    common = set(firstName) & set(lastName)
    print list(common)

当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。

撰写回答