LINUX.ORG.RU

Вечер нубских вопросов: как сделать цикл из headers в python

 , ,


1

1

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

Вид вот такой:

{
"header-1" : значение1,
"header-2" : значение2,
и т.д.
}

Параметры header-1, header-2 статичны, «значения» динамичны и должны подсовываться из каких-то данных.

Вопрос - как мне построить цикл так, чтобы каждый раз подставлялись в «значение» новые данные?

★★★

Данные как-то зависят от номера итерации? Если да, то выведи формулу, если нет, то создай массив.

CYB3R ★★★★★
()
Ответ на: комментарий от CYB3R

Нет, подставляемые данные также прописаны в скрипте, но по отношению к самому циклу они статичны.

То есть я вижу так:

[{"значение1" = данные1.1, "значение2" = данные1.2},
{"значение1" = данные2.1, "значение2" = данные2.2}

{ #начинается цикл, который по порядку из вышеуказанных строк подставляет данные в значение
"header-1" : значение1,
"header-2" : значение2,
и т.д.
}
dvrts ★★★
() автор топика
Ответ на: комментарий от dvrts

Список-список. Внутри цикла ты всё равно к нему будешь обращаться так: s[i].

CYB3R ★★★★★
()
Ответ на: комментарий от dvrts
#!/usr/bin/env python
# -*- coding: utf-8 -*-

def main():
	data_list = [{"val1": "data1.1", "val2": "data1.2"}, {"val1": "data2.1", "val2": "data2.2"}]
	
	headers = {
		"header-1": "",
		"header-2": ""
	}
	
	for v in data_list:
		if v:
			headers["header-1"] = v["val1"]
			headers["header-2"] = v["val2"]
			print headers
	
	return 0

if __name__ == '__main__':
	main()

Ходить по ключам jsona можно так

for v in data_list:
    for key in v.keys():
        print key

expelled ★★
()
Ответ на: комментарий от dvrts

Нет, подставляемые данные также прописаны в скрипте, но по отношению к самому циклу они статичны.

А почему бы в таком случае сразу не заменить словарь хедеров и список значений на массив хедеров со значениями, если у тебя и хедеры, и значения изначально прописаны в скрипте?

[  
  {
    'header-1': данные1.1, 'header-2': данные1.2
  },
  {
    'header-1': данные2.1, 'header-2': данные2.2
  }
]

И не заниматься ненужными подстановками.

theNamelessOne ★★★★★
()
Последнее исправление: theNamelessOne (всего исправлений: 1)
Ответ на: комментарий от theNamelessOne

Да, вот так я и думал. Не знал как дальше.

dvrts ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.