2024-04-19 14:12:47 发布
网友
如果我有一个列表列表,并且只想操作列表中的单个项,我将如何着手执行此操作?
例如:
List1 = [[10,13,17],[3,5,1],[13,11,12]]
如果我想取一个值(比如50),只看List1中的第一个子列表,减去10(第一个值),然后加13,再减去17,会怎么样?
List1
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]:
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:
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中的生成器表达式将返回如下内容:
sum
>>> cyc = cycle((-1, 1)) >>> [x*next(cyc) for x in lis[0]] [-10, 13, -17]
您也可以在这里使用zip:
zip
>>> cyc = cycle((-1, 1)) >>> [x*y for x, y in zip(lis[0], cyc)] [-10, 13, -17]
您可以访问列表列表中的元素,方法是首先指定您感兴趣的列表,然后指定所需的列表元素。例如,
17
是列表0
中的元素2
,即list1[0][2]
:所以,你的例子是
您可以使用
itertools.cycle
:这里,
sum
中的生成器表达式将返回如下内容:您也可以在这里使用
zip
:相关问题 更多 >
编程相关推荐