Представление структуры данных в Python - PullRequest
0 голосов
/ 07 декабря 2018

Какой лучший способ представить эту структуру данных в python:

[{'x': 230, 'y': 50}, {'x': 350, 'y': 50}, {'x': 410, 'y': 50}]

Это не JSON, это что-то еще, извините за мою глупость, я ищу различные уроки Python, но не могуВыясните, может ли это быть какая-то структура, которая может быть легко загружена, например, numpy.load или json.loads, потому что, когда я пытаюсь проверить эту структуру как JSON, он говорит, что недействительный json ...

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

У вас есть список из трех словарей (сопоставлений ключей со значениями), и он работает следующим образом:

>>> dicts = [{'x': 230, 'y': 50}, {'x': 350, 'y': 50}, {'x': 410, 'y': 50}]
>>> dicts[0]
{'x': 230, 'y': 50}
>>> dicts[0]['x']
230
>>> dicts[2]['y']
50

Поскольку все словари имеют одинаковые ключи ('x' и 'y') вВ вашем примере вы можете интерпретировать их как records .

. Отличный способ представления этих записей - pandas.DataFrame, который имеет табличную распечатку.

>>> import pandas as pd
>>> pd.DataFrame(dicts)
     x   y
0  230  50
1  350  50
2  410  50

Если у вас есть строка

>>> s = "[{'x': 230, 'y': 50}, {'x': 350, 'y': 50}, {'x': 410, 'y': 50}]"

, вы можете безопасно оценить ее с помощью ast.literal_eval.

>>> from ast import literal_eval
>>> literal_eval(s)
[{'x': 230, 'y': 50}, {'x': 350, 'y': 50}, {'x': 410, 'y': 50}]
0 голосов
/ 07 декабря 2018

Что у вас там есть список словарей.

myList = []

dict1 = {'x': 230, 'y': 50}
dict2 = {'x': 350, 'y': 50}
dict3 = {'x': 410, 'y': 50}

myList.append(dict1)
myList.append(dict2)
myList.append(dict3)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...