访问列表中的项

2024-04-19 14:12:47 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我有一个列表列表,并且只想操作列表中的单个项,我将如何着手执行此操作?

例如:

List1 = [[10,13,17],[3,5,1],[13,11,12]]

如果我想取一个值(比如50),只看List1中的第一个子列表,减去10(第一个值),然后加13,再减去17,会怎么样?


Tags: 列表list1
3条回答
List1 = [[10,-13,17],[3,5,1],[13,11,12]]

num = 50
for i in List1[0]:num -= i
print num

您可以访问列表列表中的元素,方法是首先指定您感兴趣的列表,然后指定所需的列表元素。例如,17是列表0中的元素2,即list1[0][2]

>>> list1 = [[10,13,17],[3,5,1],[13,11,12]]
>>> list1[0][2]
17

所以,你的例子是

50 - list1[0][0] + list1[0][1] - list1[0][2]

您可以使用itertools.cycle

>>> from itertools import cycle
>>> lis = [[10,13,17],[3,5,1],[13,11,12]]
>>> cyc = cycle((-1, 1))
>>> 50 + sum(x*next(cyc) for x in lis[0])   # lis[0] is [10,13,17]
36

这里,sum中的生成器表达式将返回如下内容:

>>> cyc = cycle((-1, 1))
>>> [x*next(cyc) for x in lis[0]]
[-10, 13, -17]

您也可以在这里使用zip

>>> cyc = cycle((-1, 1))
>>> [x*y for x, y  in zip(lis[0], cyc)]
[-10, 13, -17]

相关问题 更多 >