我需要创建一个带有两个字符串参数的函数,并返回一个只包含两个参数字符串中的字符的字符串。返回值中不应有重复的字符。
这就是我所拥有的,但如果有一个以上的话,我需要让它只打印一次
def letter(x,z):
for i in x:
for f in z:
if i == f:
s = str(i)
print(s)
答案 0 :(得分:5)
如果订单不重要,您可以在每个单词中加上&
个字符的交集set
,然后将join
设置为单个字符串并return
它。
def makeString(a, b):
return ''.join(set(a) & set(b))
>>> makeString('sentence', 'santa')
'nts'
答案 1 :(得分:1)
试试这个
s = set()
def letter(x,z):
for i in x:
for f in z:
if i == f:
s.add(i)
letter("hello","world")
print("".join(s))
它会打印'ol'
答案 2 :(得分:1)
如果由于某种原因set
不是你的包(也许你想在一个或另一个字符串中保持顺序,请尝试:
def common_letters(s1, s2):
unique_letters = []
for letter in s1:
if letter in s2 and letter not in unique_letters:
unique_letters.append(letter)
return ''.join(unique_letters)
print(common_letters('spam', 'arthuprs'))
(假设Python 3为print()
)。