Автор Тема: Словари в Питоне  (Прочитано 1771 раз)

Оффлайн LanuHum

  • Житель
Словари в Питоне
« : 03 Август 2014, 13:49:40 »
Казалось бы, элементарная задача, но не найду решения.
Читаю буквари - бестолково всё написано, явно, не для меня.

Код
                            for ilink in ntree.links:
                                if ilink.to_socket.name=="Color" and ilink.to_socket.node==ShaderReplaceNode:
                                    replaceIn.append(ilink.from_node.name)
                                    replace.append(ilink.to_node.name)

Как создать этот грёбаный словарь, чтобы в нём ключами были все ilink.from_node.name, а value - все  ilink.to_node.name?

Оффлайн sandman

  • Житель
Re: Словари в Питоне
« Ответ #1 : 03 Август 2014, 14:23:02 »
replace.append()   ?  :o

Оффлайн LanuHum

  • Житель
Re: Словари в Питоне
« Ответ #2 : 03 Август 2014, 14:42:49 »
replace.append()   ?  :o
Когда вы научитесь ни корчить рожицы, а просто правильно писать? Увидел, что неправильно, напиши правильно. Для этого ж тема создана! :)
Код
                            replace=[]
                            replaceIn=[]
                            InOut={}
                            for ilink in ntree.links:
                                if ilink.to_socket.name=="Color" and ilink.to_socket.node==ShaderReplaceNode:
                                    replaceIn.append(ilink.from_node.name)
                                    replace.append(ilink.to_node.name)
                                    InOut["%s"%ilink.from_node.name]="%s"%ilink.to_node.name

Так, думаю, понятней?
Последняя строчка достала. :)
« Последнее редактирование: 03 Август 2014, 14:44:53 от LanuHum »

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Словари в Питоне
« Ответ #3 : 03 Август 2014, 19:33:12 »
... replace=[] - это будет не словарь, это будет список ...
... словарь будет так
a = {}
a[1] = 100
a[2] = 200
print(a)

>>> {1:100, 2:200}

Для Кота

Оффлайн LanuHum

  • Житель
Re: Словари в Питоне
« Ответ #4 : 03 Август 2014, 19:40:27 »
... replace=[] - это будет не словарь, это будет список ...
... словарь будет так
a = {}
a[1] = 100
a[2] = 200
print(a)

>>> {1:100, 2:200}
То, что ты написал, это во всех букварях я уже читал
Словарь у меня InOut={}
Мне нужно его заполнить с помощью цикла for ilink in ntree.links:

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Словари в Питоне
« Ответ #5 : 03 Август 2014, 20:27:26 »
>> Словарь у меня InOut={}
... был не внимателен

>>Последняя строчка достала.
InOut["%s"%ilink.from_node.name]="s"%ilink.to_node.name

... код вроде работает, проверил ...
... в чём проявляется проблема? ...
Для Кота

Оффлайн LanuHum

  • Житель
Re: Словари в Питоне
« Ответ #6 : 03 Август 2014, 20:44:37 »
Цитировать
... код вроде работает, проверил ...
... в чём проявляется проблема? ...

Если работает, то проблема в моём экспортёре. Спасибо, буду разбираться.

Оффлайн sandman

  • Житель
Re: Словари в Питоне
« Ответ #7 : 03 Август 2014, 22:49:17 »
Цитировать
Когда вы научитесь ни корчить рожицы, а просто правильно писать?
Да просто был не уверен, поэтому и рожица  :)

bdancer

  • Гость
Re: Словари в Питоне
« Ответ #8 : 04 Август 2014, 14:19:11 »
Цитировать
Когда вы научитесь ни корчить рожицы, а просто правильно писать?
А ты когда научишься нормально проблемы описывать? В твоем первом посте в примере кода вообще dict'а нет =)

Код
InOut["%s"%ilink.from_node.name]="s"%ilink.to_node.name
Зачем "%s"%ilink.from_node.name, если node.name и так str? Делай так уж тогда:
Код
InOut[ilink.from_node.name] = ilink.to_node.name
« Последнее редактирование: 04 Август 2014, 15:06:21 от bdancer »

Оффлайн LanuHum

  • Житель
Re: Словари в Питоне
« Ответ #9 : 04 Август 2014, 20:06:27 »
Цитировать
А ты когда научишься нормально проблемы описывать? В твоем первом посте в примере кода вообще dict'а нет =)
А, почему он там должен быть, если вопрос поставлен: "Как создать dict для кода в примере?" :)

Цитировать
Зачем "%s"%ilink.from_node.name, если node.name и так str?
Шаблон. Копипастить удобней. Если я каждую строчку буду писать руками, то я никогда не напишу этот экспортёр. :)

Цитировать
Делай так уж тогда:
Учту в надежде получить приз за идеальный код. :)

 


Яметрика

* По форуму

* Рекламный блок

* Последние вложения

1 (1).png
Скачано: 68
Автор: LEXA ANЭGROWND
blender.png
Скачано: 78
Автор: ipv2007
4.png
Скачано: 101
Автор: hiroyukiss
2.png
Скачано: 122
Автор: hiroyukiss

Скачано: 112
Автор: Dilifa12