不能循环多次 - for 循环 (python)
can't loop more than once - for loop (python)
这里的任务是:
一个。 match_ends
给定一个字符串列表,return 的计数
字符串长度为 2 或更多且第一个的字符串
和字符串的最后一个字符是相同的。
注意:python 没有 ++ 运算符,但 += 有效。
def match_ends(words):
for i in words:
if (len(i) >= 2) & (i[0] == i[-1]):
return [i]
print(match_ends(['aba', 'xyz', 'aa', 'x', 'bbb']))
输出为:
['aba']
if (len(i) >= 2) & (i[0] == i[-1]):
return [i]
你 return 当你的 if 条件为真时,这将停止你的功能。
如果你想得到它的所有出现,你应该将你的数据保存在一个变量中 res.append(i)
(将 i 保存在列表 res 中)
然后 return 当你遍历所有列表时它在外面。
def match_ends(words):
for i in words:
if (len(i) >= 2) & (i[0] == i[-1]):
res.append(i)
return res
发生这种情况是因为您的第一个项目与您的 if 条件匹配,并且当您使用 return 时,您的代码将以结果作为第一个项目退出。我不确定你想用这个功能做什么。
问题是 return 是第一个,但没有继续
return 关键字停止函数,所以你必须将它存储在数组中,类似于 return it
这里是优化后的代码:
def match_ends(*words):
result = []
for i in list(words):
if len(i) >= 2 and i[0] == i[-1]:
result.append([i])
return result
print(match_ends('aba', 'xyz', 'aa', 'x', 'bbb'))
这里的任务是:
一个。 match_ends 给定一个字符串列表,return 的计数 字符串长度为 2 或更多且第一个的字符串 和字符串的最后一个字符是相同的。 注意:python 没有 ++ 运算符,但 += 有效。
def match_ends(words):
for i in words:
if (len(i) >= 2) & (i[0] == i[-1]):
return [i]
print(match_ends(['aba', 'xyz', 'aa', 'x', 'bbb']))
输出为:
['aba']
if (len(i) >= 2) & (i[0] == i[-1]):
return [i]
你 return 当你的 if 条件为真时,这将停止你的功能。
如果你想得到它的所有出现,你应该将你的数据保存在一个变量中 res.append(i)
(将 i 保存在列表 res 中)
然后 return 当你遍历所有列表时它在外面。
def match_ends(words):
for i in words:
if (len(i) >= 2) & (i[0] == i[-1]):
res.append(i)
return res
发生这种情况是因为您的第一个项目与您的 if 条件匹配,并且当您使用 return 时,您的代码将以结果作为第一个项目退出。我不确定你想用这个功能做什么。
问题是 return 是第一个,但没有继续
return 关键字停止函数,所以你必须将它存储在数组中,类似于 return it
这里是优化后的代码:
def match_ends(*words):
result = []
for i in list(words):
if len(i) >= 2 and i[0] == i[-1]:
result.append([i])
return result
print(match_ends('aba', 'xyz', 'aa', 'x', 'bbb'))