Как преобразовать список этого порядка в json?

#python #json #python-3.x #list

#python #json #python-3.x #Список

Вопрос:

У меня есть список, как показано:

  text = ['block 1 = HP Pavilion Gaming Laptop', 'block 2 = 15-dk0049TX', 'block 3 = Serial No']
  

я хочу выводить как { «блок 1»: «Игровой ноутбук HP Pavilion», «блок 2»: 15-dk0049TX, «блок 3»: «Серийный номер»}

Как преобразовать приведенный выше список в сопряжение ключ-значение в json?

Комментарии:

1. можете ли вы привести какой-либо пример вывода?

Ответ №1:

Используйте str.split с dict

Пример:

 text = ['block 1 = HP Pavilion Gaming Laptop', 'block 2 = 15-dk0049TX', 'block 3 = Serial No']
result = dict(i.split(" = ") for i in text)
print(result)
  

Вывод:

 {'block 1': 'HP Pavilion Gaming Laptop',
 'block 2': '15-dk0049TX',
 'block 3': 'Serial No'}
  

Ответ №2:

 import sys
import json

text = ['block 1 = HP Pavilion Gaming Laptop', 'block 2 = 15-dk0049TX', 'block 3 = Serial No']
json_str = json.dumps(text)
sys.stdout.write('{}n'.format(json_str))
  

Смотрите: https://docs.python.org/3/library/json.html

Если вы хотите использовать сопряжение ключ-значение, пожалуйста, отредактируйте свой вопрос, чтобы уточнить, что вы хотите.

Комментарии:

1. я внес изменения, пожалуйста, просмотрите вопрос, так как я хочу json в указанном выше порядке

2. Похоже, вы получили ответ.

Ответ №3:

попробуйте это:

 import json

text = ['block 1 = HP Pavilion Gaming Laptop', 'block 2 = 15-dk0049TX', 'block 3 = Serial No']
json_dic = [{t.split('=')[0].strip(): t.split('=')[1].strip()} for t in text]
print(json.dumps(json_dic))