该程序应该返回列表的前三个字母,例如['Monday', 'Tuesday', 'Wednesday', 'Thursday']
将返回:
Mon
Tue
Wed
Thu
这是我的代码:
def three(lst):
for i in lst:
return lst[:3]
我无法让这个工作,我在这里找到了一个类似的问题,答案不起作用,我的教科书什么也没给我。谢谢!
答案 0 :(得分:2)
return
立即退出该功能。您必须在新列表中收集字母:
def three(lst):
result = []
for item in lst:
result.append(item[:3])
return result
答案 1 :(得分:1)
您需要打印i
的前3个字母,而不是lst
的元素
def three(lst):
for i in lst:
print(i[:3])
答案 2 :(得分:1)
在python中,我们使用list comprehensions来完成这些任务。
lst = ['Monday', 'Tuesday', 'Wednesday', 'Thursday']
def three(lst):
return [i[:3] for i in lst]
three(lst)
或者返回生成器(生成器基本上是一个只能使用一次的列表):
def three(lst):
for item in lst:
yield item[:3]
list(three(lst))
返回:
['Mon', 'Tue', 'Wed', 'Thu']
然而如果您的目标只是打印,那么我们可以简单地执行此操作:
print('\n'.join(i[:3] for i in lst))
这使用生成器从列表中使用行中断连接元素,它打印:
Mon
Tue
Wed
Thu