如何从文件中的3D列表/数组中提取数据以进行计算

时间:2019-04-26 17:21:42

标签: python

我有一个文件,其中包含3D列表,其中包含州,每个州的县数以及每个县的下雨量。例如

[['Georgia',['county1', 3], ['county2', 1], ['county3', 2]], ['Florida' , ['county1', 0], ['county2', 3]]]

我每个州都有这样的数据,每个州都有不同数量的县。我必须从用户那里获取他们想要从中获取数据的状态的输入,但是状态在我的列表中没有特定的顺序。如何访问程序中的列表,以便可以提取用户所需状态的数据?

我已经制作了3D列表,但实际上不知道如何在不进行50个while循环的情况下获取用户输入状态的数据

我希望用户能够输入状态并让程序遍历列表,并找到用户想要信息的状态,以便它可以打印该信息。

例如 输入州:佛罗里达州

在佛罗里达州,县1的降雨量为0英寸,县2的降雨量为3英寸

编辑: 我不能为此任务使用字典

1 个答案:

答案 0 :(得分:1)

强烈建议使用字典,而不要考虑您具有自然键(状态名称)。在其当前实现中,一个解决方案是遍历数据,直到列表中的第一项与状态匹配为止。例如:

data = [['Georgia',['county1', 3], ['county2', 1], ['county3', 2]], ['Florida' , ['county1', 0], ['county2', 3]]]

def get_subset(full_data, some_input):
    for item in full_data:
        if item[0].lower() == some_input.lower(): # case insensitive
            return item
    return None

florida = get_subset(data, 'Florida')
print(florida)

收益:

  

['佛罗里达',['county1',0],['county2',3]]

从这里您应该能够弄清楚如何将数据解释为可打印的格式以满足您的需求!