PYTHON:打印列表中的X项

时间:2014-11-06 19:57:34

标签: python list for-loop while-loop counter

我有这段代码:

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

我试图调试,因为我认为计数器可能不起作用,但确实如此。但那我的错误在哪里?

2 个答案:

答案 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]