从列表中打印特定项目

时间:2013-12-16 11:06:15

标签: python list printing

我想知道如何打印列表例如中的特定项目:

li = [1,2,3,4]

我想在循环中打印3 rd 和4 th ,我一直在尝试使用某种类型的for循环,如下所示:

for i in range (li(3,4)):
    print (li[i])

但是我遇到各种错误,例如:

TypeError: list indices must be integers, not tuple.
TypeError: list object is not callable

我一直在努力为()改变[]并且一直在改变这些词,看看它是否有用但是到目前为止还没有。

3 个答案:

答案 0 :(得分:7)

使用切片表示法,您可以获得所需的项目子列表:

>>> li = [1,2,3,4]
>>> li[2:]
[3, 4]

然后迭代子列表:

>>> for item in li[2:]:
...     print item
... 
3
4

答案 1 :(得分:1)

你应该这样做:

for i in [2, 3]:
    print(li[i])

range(n),您将获得[0, 1, 2, ..., n-1]

range(m, n),您将获得[m, m+1, ..., n-1]

这就是您使用range获取list个索引的原因。

与其他研究员一样,建议使用slicing

答案 2 :(得分:0)

li(3,4)会尝试使用参数li3调用4。由于列表不可调用,因此将失败。如果要迭代某个索引列表,可以像下面那样指定它:

for i in [2, 3]:
    print(li[i])

请注意,索引从零开始,因此如果您想获取34,则需要访问列表索引23

您也可以对列表进行切片并迭代列表。通过执行li[2:4],您将获得包含第三和第四个元素的列表(即索引i2 <= i < 4)。然后你可以使用for循环迭代这些元素:

for x in li[2:4]:
    print(x)

请注意,遍历列表将直接为您提供元素,而不是索引。