我想知道如何打印列表例如中的特定项目:
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
我一直在努力为()
改变[]
并且一直在改变这些词,看看它是否有用但是到目前为止还没有。
答案 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)
会尝试使用参数li
和3
调用4
。由于列表不可调用,因此将失败。如果要迭代某个索引列表,可以像下面那样指定它:
for i in [2, 3]:
print(li[i])
请注意,索引从零开始,因此如果您想获取3
和4
,则需要访问列表索引2
和3
。
您也可以对列表进行切片并迭代列表。通过执行li[2:4]
,您将获得包含第三和第四个元素的列表(即索引i
和2 <= i < 4
)。然后你可以使用for循环迭代这些元素:
for x in li[2:4]:
print(x)
请注意,遍历列表将直接为您提供元素,而不是索引。