访问python数据结构

时间:2017-04-25 12:16:01

标签: python dictionary

我在python中有一个数据变量,我不知道访问元素 这是数据结构示例:

('deploy_with_config', [{'port': 80, 'name': 'test1', 'address': '0.0.0.0'}, {'port': 80, 'name': 'test2', 'address': '0.0.0.0'}])

此数据必须在文本文件中,每行都要输入 对于这个例子:
test1 0.0.0.0 80
test2 0.0.0.0 80

3 个答案:

答案 0 :(得分:0)

您的数据结构是一个元组,由字符串和列表组成。该列表本身包含字典,每个字典都有3个键值对。

你可以找到这样的信息:

>>> unknown_data = ('deploy_with_config', [{'port': 80, 'name': 'test1', 'address': '0.0.0.0'}, {'port': 80, 'name': 'test2', 'address': '0.0.0.0'}])

>>> type(unknown_data)
<class 'tuple'>
>>> type(unknown_data[0])
<class 'str'>
>>> type(unknown_data[1])
<class 'list'>
>>> type(unknown_data[1][0])
<class 'dict'>

要获得您建议的输出格式,您可以执行以下操作:

for item in unknown_data[1]:
    print('{0[name]} {0[address]} {0[port]}'.format(item))

答案 1 :(得分:0)

所以你有一个可以索引的元组(一个不可变列表)。你想要元组中的第二项,所以你调用[1]。这是一个字典列表,每个字典由花括号{}分隔。要调用字典中的项目,请使用方括号并调用字典键(&#39;:&#39;左侧的单词)。这为您提供了相应的值,&#34; test1&#34;等。

如果您不清楚代码的确切工作方式,请浏览每个阶段并循环遍历元组的第一个项目,然后遍历字典并使用调用语法。

a = ('deploy_with_config', [{'port': 80, 'name': 'test1', 'address': '0.0.0.0'}, {'port': 80, 'name': 'test2', 'address': '0.0.0.0'}])

for some_dict in a[1]:
    print(some_dict["name"], some_dict["address"], some_dict["port"])

答案 2 :(得分:0)

假设数据是一个元组

data = ('deploy_with_config', [{'port': 80, 'name': 'test1', 'address': '0.0.0.0'}, {'port': 80, 'name': 'test2', 'address': '0.0.0.0'}])

params = data[1]
params = [" ".join([item['name'], item['address'], str(item['port'])]) for item in params]

with open('data.txt') as fw:
    fw.writelines(params)