专注于子集的元素

问题描述 投票:0回答:1

对编码相当陌生,我有一个关于列表和子集的问题。 假设这是我的清单:

list =
[[[a,2], [c,3], [e,3]],
[[g,4], [i,4] [k,3]],
[[b,3], [d,2], [f,2]]]

我将如何制作一个专注于索引 -1 (或数字)的新列表来将它们相加,如果总和大于 8,则不打印到新列表中,如果小于则打印。

例如:

[a,2], [c,3],[e,3]
总和是8所以它会打印
[g,4],[i,4],[k,3]
总和是11所以不会打印
[b,3], [d,2], [f,2]
总和是7,所以它会打印

这个列表也会更大,所以我想可能是一个循环,但不知道,任何建议都会有所帮助,谢谢

new_list = []
i = 0
while i < 10:
    if (list[i][0][-1] + list[i][1][-1] + list[i][2][2] < 8)
    print (list[i] in new_list) #dont think this is right
    i = i + 1
return

我以为这会再次循环,但得到了 3 行错误

python python-3.x list subset
1个回答
0
投票

这是计算具有多个 char 和 int 列表的每行总和的方法。

list_a =[
    [["a",2], ["c",3], ["e",3]],
    [["g",4], ["i",4], ["k",3]],
    [["b",3], ["d",2], ["f",2]]
]
#Iterating over row
    for row in list_a:
        # Initializing sum with zero  before calculating sum for each row
        sum_of_row = 0
        # Iterating over cells in row
        for cell in row:
            # Here cell[0] is string and cell[1] is int
            sum_of_row = sum_of_row + cell[1]
        if sum_of_row > 8:
            print(sum_of_row)
        
© www.soinside.com 2019 - 2024. All rights reserved.