我有这段代码:
U = [1,2,3,4,5,6,7,8,9,10,11,12]
def bla(anzahl):
zaehlwerk = 0
while zaehlwerk < anzahl:
for x in U:
zaehlwerk = zaehlwerk +1
print x
我的疑问:
bla(3)
我希望现在我能得到前3个列表项,但我得到了整个列表。
1
2
3
4
5
6
7
8
9
10
11
12
我试图调试,因为我认为计数器可能不起作用,但确实如此。但那我的错误在哪里?
答案 0 :(得分:6)
使用切片:
>>> U = [1,2,3,4,5,6,7,8,9,10,11,12]
>>> U[:3]
[1, 2, 3]
U[stat-index:end-index]
,你将从start-index到一个较少的end-index获取元素,如上例所示
>>>U[2:6]
[3, 4, 5, 6]
你需要做的是使用切片:
def print_list(n):
print "\n".join(map(str,U[:n]))
print_list(3)
输出:
1
2
3
答案 1 :(得分:0)
for x in U:
是最里面的循环。这是确保你迭代一切。
您可以将代码修改为
def bla(anzahl):
zaehlwerk = 0
while zaehlwerk < anzahl:
x = U[zaehlwerk]
zaehlwerk = zaehlwerk +1
print x
这将适合你想要的东西。但更简洁的是使用像
这样的东西for index in range(len(anzahl)):
print U[index]