Инвертированный индекс Python - PullRequest
0 голосов
/ 19 ноября 2018

Я пытаюсь создать словарь вида:

{: [ , {}]}

Например:

d = {term: [number, {number1: number2}]}

Я пытался создать словарь внутри, но я новичок, и я не мог понять, как это возможно. Проблема в том, что мне нужна форма d, и я хочу обновить число или словарь, который содержит число 1 в качестве ключа и число 2 в качестве значения при поиске термина.

Итак, вопрос: Можно ли создать словарь типа d? И если да, то как я могу получить доступ к термину, номеру и внутреннему словарю?

Ответы [ 2 ]

0 голосов
/ 19 ноября 2018
d = {"term": [5, {6: 7}]}

Ключом является список:

d["term"]   
[5, {6: 7}]

1-й элемент списка:

d["term"][0]
5

Второй элемент списка - словарь:

d["term"][1]
{6: 7}

Значение ключа словаря '6' равно 7:

d["term"][1][6]
7

Edit: Некоторые примеры для модификации:

d = {"term": [5, {6: 7}]}

d["term"].append(10)
print(d)
Out: {'term': [5, {6: 7}, 10]}

l=d["term"]
l[0]=55
print(d)
Out: {'term': [55, {6: 7}, 10]}

insidedict=l[1]
print(insidedict)
{6: 7}

insidedict[66]=77
print(d)
{'term': [55, {6: 7, 66: 77}, 10]}
0 голосов
/ 19 ноября 2018

Конечно, просто определите это так:

d = {'term': [5, {6: 7}]}

Поскольку ваш словарь имеет только один ключ, вы получаете доступ к ключу через:

key = next(iter(d))

Затем вы можете получить доступ к значению 5 двумя способами:

number = d[key][0]
number = next(iter(d.values()))[0]

Аналогично, вы можете получить доступ к внутреннему словарю с помощью:

inner_dict = d[key][1]
inner_dict = next(iter(d.values()))[1]

И повторите процесс для inner_dict, если вы хотите получить доступ к его ключ / значение.

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