我试图从字符串中获取共享字母与字母列表相比较。我只返回与w共享的l的最后一个字母。我想要所有的共享信件。
def f(w,l):
common = []
for i in w:
if in i in l:
return common.append(i)
答案 0 :(得分:6)
只要i
l
代码return
,即会退出您的代码def f(w,l):
common = []
for i in w:
if i in l:
common.append(i) # no return needed so it will collect all
return common
。而是这样做:
common
确保在功能结束时返回common
,以便获得{{1}}中存储的所有值。
答案 1 :(得分:0)
试试这个:
def f(w,l):
common = []
for i in w:
if i in l:
common.append(i)
return common
答案 2 :(得分:0)
问题是列表的.append
方法返回None
。你第一次.append
时从函数返回,所以你总是从函数返回None
。
我认为你真正想要的是列表理解:
def f(w,l):
return [i for i in w if i in l]
正如其他人所指出的那样,您可能希望选择更多描述性变量名称。