对列表列表的python条件访问

2024-04-19 05:36:03 发布

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

我想就访问存储在列表中的数据的问题提出一些建议。在

我的列表如下:

my_list = [['RN1', 200, 0.55], ['RN2', 0.8, 0.44], ['RN3', 0.2, 0.01]]

列表是根据内部列表的第三个元素排序的。在

我想做的是:

  1. 如果第一个元素的内部列表大于0,则创建第三个更大的内部列表

    ^{pr2}$

    如果是真的会给出:

    new_list = [['RN1', 200]]
    
  2. 如果没有,我想向my_list[0][2]元素添加第二个内部列表的相应元素:

    my_list[0][2] + my_list[1][2]并检查此值是否大于0.9

如果是,我想停止循环,将第二个内部列表的前2个元素添加到我的新列表中:

new_list = [['RN1', 200], ['RN2', 0.8]]

如果不继续添加元素,直到达到0.9的阈值。在

当然这只是一个例子。我真正的列表可以大得多,而且这个过程应该是迭代的。在

我试过不同的可能性,但都不管用。例如,我做过:

sum_percentage = 0.0

new_list =[]

    for i in old_list:

        if sum_percentage <= 0.9:

            sum_percentage = sum_percentage + i[2]

        new_list.append([i[0], i[1]])

其他的变种…现在我被卡住了。在

有什么提示吗?在

非常感谢


Tags: 数据元素列表new排序my阈值建议
1条回答
网友
1楼 · 发布于 2024-04-19 05:36:03

这会帮你完成任务:

sum_percentage = 0.0
new_list = []
for i in old_list:
    new_list.append(i[:2])
    sum_percentage += i[2]
    if sum_percentage >= 0.9:
        break

我认为这是不言自明的,但如果你有什么困惑,请告诉我,我会扩展这个答案。在

相关问题 更多 >