Добавить новый элемент в словарь динамически, используя переменную

В настоящее время я читаю значения из файла и разделяю их как параметр и значение, например. @ id = 7 становится param = @id, value = 7. Я хотел бы использовать переменную param в качестве нового ключа в словаре. Однако он работает не так, как ожидалось. Я использую следующий код.

list1 = {}

with open('C:/Temp/file1.txt') as f:
    lines = f.read().splitlines()

for line in lines:
    middle = line.find("=")
    param = line[:middle]
    value = line[middle+1:]
    list1[param] = value

В этом коде ключ словаря и значение становятся равными 7. Заранее спасибо.

1
nl ja de
param, _, value = line.partition ('=') .
добавлено автор Karl Knechtel, источник
Я не думаю, что вы используете дикт.
добавлено автор Jakob Bowyer, источник
Вы не выводите параметр, но list1 [param].
добавлено автор Ivar Bonsaksen, источник
Вы не должны изменять причину своей путаницы из вопроса. Как и сейчас, принятый ответ решает проблему, которая больше не находится в вопросе.
добавлено автор Ivar Bonsaksen, источник
Почему бы не использовать print ("param =" + param + ", value =" + value)?
добавлено автор Jun HU, источник

3 ответы

Вы должны определить свой словарь ( d - хорошее имя). Вы можете сделать это следующим образом:

with open('C:/Temp/file1.txt') as f:#
    d = dict(line.strip().split('=', 1) for line in f)

for k,v in d.iteritems():
    print("param = {0}, value = {1}".format(k,v))
3
добавлено

Если вы определяете list1 как dict list1 = {} , то ваш оператор печати неверен.

print("param = " + list1[param] + ", value = " + value)

оба list1 [param] и value будут равны 7., поскольку list1 [param] предоставит вам значение его содержимого, а не его ключ.

Попытайтесь впоследствии взглянуть на словарь, напечатав его.

print(list1)
2
добавлено

Я знаю, что это не то, о чем вы просили, но я бы предложил посмотреть

0
добавлено
Python
Python
7 654 участник(ов)

Уютный чат для профессионалов, занимающихся поиском питоньих мудростей. Как не получить бан: https://t.me/ru_python/577926

Python beginners
Python beginners
4 449 участник(ов)

Вопросы про Python для чайников. Cпам и троллинг неприемлем. Не злоупотребляйте стикерами. Частозадаваемые вопросы: https://github.com/ru-python-beginners/faq/blob/master/README.md Статистика тут: https://grstats.me/chat/x4qym2k5uvfkr3al6at7

pro.python
pro.python
1 090 участник(ов)

Сообщество разработчиков под Python Создатель: @rodgelius

Rude Python
Rude Python
971 участник(ов)

Python без „девочек”, здесь матерятся и унижают Django. Not gay friendly. Правила: t.me/rudepython/114107 @rudepython | t.me/rudepython

rupython
rupython
509 участник(ов)

Группа создана с целью оперативного получения ответов на возникающие вопросы по разработке на яп python, смежные темы, а также человеческого общения. Приветствую!

Python-programming
Python-programming
266 участник(ов)

Чат группы вконтакте https://vk.com/python_community