LINUX.ORG.RU

Как в питоне словарь внутри себя использовать

 


0

1

Чего-то не понял в нем.

list=['a','a','a','b','c','c','c','c']
s = {i: s[i]+1 for i in list}
print(s)

Хотелось бы увидеть вывод вроде 'a':3, 'b':1, 'c':4 но возникает ошибка «NameError: name 's' is not defined» Если же просто присваивать допустим 1 каждому ключу, то нормально, но мне не это нужно.

★★★★★

Последнее исправление: praseodim (всего исправлений: 2)
Ответ на: комментарий от rtxtxtrx

Да и так ясно, что хто тестовое задание, с такими познаниями ему работа все равно не грозит

Удивляет как другие умеют судить. Я где-нибудь говорил, что это тестовое задание? Нет, это по текущей работе, возникла необходимость с питоном разбираться вот. Малой кровью не получается, похоже, если не вникать дотошно, то будут проблемы написать любой реальный, а не тестовый код. Как минимум, куча времени тратится.

Пока обходился документацией на метанит https://metanit.com/python/tutorial/3.6.php но видимо нужно въезжать в него по-настоящему. Что, кстати, посоветуешь для этого?

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

Ничего. Я книг по питону прочитал только одну - классику дайвинг инто питон. И какую-то луца 1/3 или 1/4, там еще было показано как графы в виде кортежей представлять и операции над ними делать. А когда какие-то новые языки учил, то тупо туториала на сайте хватало типа готур

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

поставь ipython там наряду с разной магией есть obj? и obj??

в любой современной ide можно goto defenition

питон идёт с достаточно качественно написаной стандартной библиотекой - папка Lib в каталоге установки

читай сырцы на гитхабе

не понятные строки кода гугли

один из методов освоение питона общий с lisp'ом в том числе repl

в частности можно в ipython нащупать последовательностей нужных действий и затем

дампануть свою сесию в файл:

with open("dumb.py","wt")as out:print(*In,sep='\n',file=out)

навести блеск посредством ide/editor и в дальнейшем в ipython(али в ide)

import dumb
...

т.е разработка при наличии replа может отличаться от чистого компиляй_линкуй_исправляй

есть конечно ливсистемы но это ваще в совсем других случаях

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

Читай официальную документацию: https://docs.python.org/3/tutorial/index.html

Остальные источники, включая книги - это часто устаревшая, не всегда качественная, а порой откровенно безобразная, перепечатка или адаптация официальной документации. Не трать время на другие источники. Официальный туториал - единственное, что тебе нужно на данном этапе.

В туториале основные синтаксические моменты рассмотрены всего на семи страницах (разделы 3-9), которые реально осилить за день-два, в зависимости от имеющегося опыта программирования.

anonymous
()