Как сделать многомерный массив в Python? - PullRequest
0 голосов
/ 25 марта 2011

Мне нужно сделать структуру данных в Python так:

array(
      1 => array(url => "http://wwww.ff.com", msg => "msg 1..."),
      2 => array(url => "http://wwww.yy.com", msg => "msg 2..."),
      3 => array(url => "http://wwww.xx.com", msg => "msg 3..."),   
      );

У меня есть поиск в документации, но нет подсказки. Может кто-нибудь подсказать, как это сделать?

С наилучшими пожеланиями,

Ответы [ 3 ]

8 голосов
/ 25 марта 2011

Просто используйте список словарей:

a = [{"url": "http://wwww.ff.com", "msg": "msg 1..."},
     {"url": "http://wwww.yy.com", "msg": "msg 2..."},
     {"url": "http://wwww.xx.com", "msg": "msg 3..."}]
print a[0]["url"]
# http://wwww.ff.com

В качестве альтернативы, вы можете использовать список кортежей

a = [("http://wwww.ff.com", "msg 1..."),
     ("http://wwww.yy.com", "msg 2..."),
     ("http://wwww.xx.com", "msg 3...")]
print a[0][0]
# http://wwww.ff.com

или список именованных кортежей:

from collections import namedtuple
UrlTuple = namedtuple("UrlTuple", "url msg")
a = [UrlTuple(url="http://wwww.ff.com", msg="msg 1..."),
     UrlTuple(url="http://wwww.xx.com", msg="msg 2..."),
     UrlTuple(url="http://wwww.yy.com", msg="msg 3...")]
print a[0].url
# http://wwww.ff.com
1 голос
/ 25 марта 2011

Вы ищете словари:

[{"url":"http...", "msg":"msg 1..."}, {"url":"http...", "msg":"msg 12..."}, ...]
1 голос
/ 25 марта 2011

Типы данных в Python могут быть свободно вложены:

multi = [[1, 2, 3], [4, 5, 6]]

Если вам нужно более глубокое решение, NumPy предлагает мощный выбор инструментов для работы с массивами .

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