Python для начинающих. Урок 9: Словари (dict). Решение задач.

ВСЕ ВИДЕО ПО PYTHON: • Python для начинающих
МОЙ КУРС ПО GIT: www.udemy.com/course/git-alis...
ДЛЯ ЖИТЕЛЕЙ РФ: swiftbook.org/courses/586
Реклама и сотрудничество: alishev.neil@gmail.com

Пікірлер: 284

  • @alishevN
    @alishevN4 жыл бұрын

    1) Плейлист этого курса вот здесь: kzread.info/head/PLAma_mKffTOSY12JZS6l8lxKCpooPVcrn 2) Не обязательно использовать Jupyter Notebook. Можно использовать любую другую IDE, например PyCharm - www.jetbrains.com/ru-ru/pycharm/ Telegram: t.me/alishev_g Курс по GIT: www.udemy.com/course/git-alishev/?referralCode=71994763964B8E2E6A4E

  • @nox7925
    @nox79253 жыл бұрын

    Если бы жизнь была Python- ом , то я в ней был бы pass-ом

  • @luide2167
    @luide21674 жыл бұрын

    Самый лучший урок это практика. Хотелось бы каких либо супер лёгких задачек.

  • @user-sd2zy2qt8r

    @user-sd2zy2qt8r

    2 жыл бұрын

    да не то слово)

  • @user-sd2zy2qt8r

    @user-sd2zy2qt8r

    2 жыл бұрын

    @D1en я аналогично как и вы не могу понять туго как то прямо

  • @vladimirdragosh4846
    @vladimirdragosh48463 жыл бұрын

    Превосходный паттерн изложения: Теория -> Задача -> Пауза -> Анализ решения задачи. Спасибо! Вы, как и всегда, на высоте!

  • @crabcrab1
    @crabcrab14 жыл бұрын

    Чувствую себя отсталым, но спасибо

  • @ackiid

    @ackiid

    3 жыл бұрын

    ты не один такой

  • @vladimirvinogradov6815

    @vladimirvinogradov6815

    3 жыл бұрын

    @@ackiid и вас даже ни два

  • @ackiid

    @ackiid

    3 жыл бұрын

    @@vladimirvinogradov6815 множество тупых )))

  • @vladimirvinogradov6815

    @vladimirvinogradov6815

    3 жыл бұрын

    ​@@ackiid нужно использовать список!)

  • @user-wc1xm5rl7k

    @user-wc1xm5rl7k

    3 жыл бұрын

    @@vladimirvinogradov6815 и я с вами, хрен что поймешь с домашкой

  • @ghostlyangel1623
    @ghostlyangel16234 жыл бұрын

    Со второй задачей, где нужно было посчитать слова - не сразу понял задание. Под посчитать слова я сначала подумал, что нужно просто посчитать кол-во слов, то есть например если их суммарно 16, то нужно это выяснить. Когда начал смотреть решение, понял, что что-то не так сделал. По первым словам решения подумал, что нужно создать словарь, в котором у каждого нового слова будет свой номер, и нужно посчитать кол-во уникальных слов. Сделал. И это было снова не то :D Было бы неплохо объяснить необходимый результат на примере, чтобы видеть, что должно получиться

  • @user-of6oz4yl8f

    @user-of6oz4yl8f

    4 жыл бұрын

    Ты ни один такой. Я тоже подумал про общее количество my_text = 'Привет пока как дела привет привет арбуз велосипед стол как слон арбуз да привет' print (my_text.split()) len (my_text.split()) p= len (my_text.split()) print ('В этом списке ' + str(p) + ' cлов' )

  • @MuaddibAtreides

    @MuaddibAtreides

    3 жыл бұрын

    но по сути все верно, он дал задачу а ты решил даже больше, значит урок дал результат)

  • @user-dz1uq5sd5b

    @user-dz1uq5sd5b

    3 жыл бұрын

    а каково условие второго задания в итоге? я тоже не понял, но решение смотреть не хочу, хочу сам сделать)

  • @ackiid

    @ackiid

    3 жыл бұрын

    аналогично понял задание, автору спасибо, но ставить задачу нужно точнее ))

  • @Borland06

    @Borland06

    3 жыл бұрын

    Ход моих мыслей был абсолютно идентичен твоему) Сделав задание по первому сопособу подумал, не омжет же быть так просто да и словарь тут не нужен, начал смотреть решение, подумал, видимо нужно посчитать количество уникальных слов - spl_text = my_text.split() set_txt=set() for f in spl_text: f2=f.lower() set_txt.add(f2) print (set_txt) print ('В тексте ' + str(len(set_txt)) + ' уникальных слов') Но все равно не понятно, причем тут словари? Смотрю дальше, а оказывается нужно было посчитать количество повторений слов...

  • @avvoltini4088
    @avvoltini40884 жыл бұрын

    Классно! Очень классная подача, всё, действительно понятно! И отличная идея с задачей, решать её в видео после паузы!

  • @santics9352
    @santics93522 жыл бұрын

    такие элементарные вещи объясняют так, что мозг взорвется

  • @user-fu7be4xy8b
    @user-fu7be4xy8b3 жыл бұрын

    Спасибо за старание! Уважение и огромная благодарность😊 Сказать что тяжело, это ничего не сказать))) Ву блин, задачки конечно эти сложные. Реально, без просмотра не получается. А после просмотра вроде элементарно. Тяжело одним словом). Тернистым будет путь чувствую)))

  • @user-gx7ns2hp4p
    @user-gx7ns2hp4p4 жыл бұрын

    Круто! Очень понравилось, разбора задач мне очень нехватает,наконец-то нашла что-то клёвое

  • @postrate2515
    @postrate25154 жыл бұрын

    Ждёём продолжение курса по Python !!

  • @GitLev
    @GitLev3 жыл бұрын

    Мой первый сенсей по Pyton! Если что то не понятно пересматриваю до понимания. Большое Спасибо! Идей и развития!

  • @ikeet
    @ikeet4 жыл бұрын

    Наиль, все ждут 10 урок. Уже больше 5 месяцев прошло.. Не подведи родной

  • @user-vy8hu7qx1g
    @user-vy8hu7qx1g3 жыл бұрын

    Спасибо за вашу работу =) продолжаю изучать новую информацию.

  • @davida8216
    @davida82164 жыл бұрын

    Ты лучший !!! Ура новый урок

  • @vladimirkulakov6126
    @vladimirkulakov61263 жыл бұрын

    Супер! Всё получилось! Но первая задачка заставила прям подумать.

  • @user-dr8dk9qm2z
    @user-dr8dk9qm2z Жыл бұрын

    Вторая задача new_slovar = {i: n.split().count(i) for i in n.split()}

  • @gulzhanamirbayeva8439
    @gulzhanamirbayeva84394 жыл бұрын

    Спасибо! Все отлично в этом курсе. Есть предложение - больше реальных кейсов, как задача #convert(miles)

  • @segasey
    @segasey3 жыл бұрын

    Ничего не понятно , но очень интересно!

  • @alexeykozlov7836
    @alexeykozlov78363 жыл бұрын

    А я понял вторую задачу неправильно))) Подумал, что нужно подсчитать просто количество слов и сильно удивился, когда ты назвал её сложной, ибо же там всё вот так должно быть: print(len(my_text.split())). И только потом допёр, что надо было подсчитать количество повторений каждого слова)))

  • @AS-si3yv

    @AS-si3yv

    3 жыл бұрын

    ахах, плюсую) тоже в строчку записал и думаю что-то тут не так..

  • @user-pv7cy3hg1y
    @user-pv7cy3hg1y4 жыл бұрын

    Супер! Когда ожидать новый выпуск?

  • @antantus8351
    @antantus83513 жыл бұрын

    Спасибо за труды!

  • @gulnarcabbarova9653
    @gulnarcabbarova96534 жыл бұрын

    Ochen xorowo obyasnaete . Spasibo bolwoe. Jdem 10 urok😊

  • @ytilizator24
    @ytilizator243 жыл бұрын

    спасибо сенсей, обработанную полученную информацию, и отправлю как всегда задание вам, о мой сенсей

  • @MaxllmuS
    @MaxllmuS3 жыл бұрын

    Довольно забавные ощущения, имеется небольшой опыт в других языках программирования. Начинаешь решать все сам, делаешь все красиво. Чувство гордости все дела ) Потом открываешь решение и понимаешь что можно было сделать в 2 строчки и не вводить лишние переменные или циклы итд. Очень познавательно и интересно. Спасибо что каждый раз получается понять что то новое!

  • @Garbakbl

    @Garbakbl

    Жыл бұрын

    жиза

  • @user-rd8fy7gg4p
    @user-rd8fy7gg4p Жыл бұрын

    Спасибо огромное за уроки! С первой задачей возникли трудности, но алгоритм выполнения задачи на листе изложил верно, а вот написать программу не хватило знания синтаксиса, хотя мысли были такие как в вашем решении. Вторую задачу решил практически сразу, (первым способом), но возникли трудности, опять же, не мог понять как в словаре поставить ЗНАЧЕНИЕ +1. Перепробовав множество вариантов ( и почему-то так и не воспользовавшись знанием с прошлых уроков( +=)) я обратился к гуглу и был расстроен узнав, что все намного проще чем я думал. Респект за труды!

  • @1993Slevin
    @1993Slevin Жыл бұрын

    Наиль, привет! Спасибо большое за уроки, они правда стоящие! Действительно, второе задание не совсем корректно дано и я, как многие, просто подсчитал len, глупо радуясь быстрому успеху...)))

  • @user-qj7bt3kx1r
    @user-qj7bt3kx1r4 жыл бұрын

    Большое спасибо! Все очень ясно и понятно, жду 10 урок

  • @asatrin
    @asatrin2 жыл бұрын

    Мне нравится ваш урок

  • @user-ns9xt3gv1d
    @user-ns9xt3gv1d3 жыл бұрын

    Слушай, я 2 задачи решил через цикл в цикле )))) Но твое решение по задачам конечно выглядит элегантнее ) Хоть мое и не такое изящное - но рад что сам решил без подсказки твоей :) И да - решение второй задачи я ещё не посмотрел :)

  • @user-qo4tq6xk1v
    @user-qo4tq6xk1v3 жыл бұрын

    Помогите разобраться, в задаче с определением количества слов не понял. написали цикл for word in my_text.split(): if word in my_dict2: - почему здесь то проверяем наличие слова в словаре my_dict2, он же ведь еще пустой?

  • @almays5245

    @almays5245

    2 жыл бұрын

    такой же вопрос !

  • @steelheelru
    @steelheelru4 жыл бұрын

    Да, со второй задачей - не правильно, или даже не точно был задан вопрос. Нужно было наверное сказать - сколько каждого слова в списке. А то я так же как и многие (судя по отзывам) посчитал общее кол-во слов и уникальных слов )

  • @DeLanaBo
    @DeLanaBo2 жыл бұрын

    Спасибо за прекрасные уроки! Условие второй задачи действительно не чётко обозначено. Но она далась легко, а первая... мне было сложно, скажу честно подсмотрела решение.

  • @slava5935
    @slava59354 жыл бұрын

    Я все твои уроки за два дня посмотрел, затянуло Над каждым сижу думаю, зато всё ясно как божий день

  • @McClean974
    @McClean9743 ай бұрын

    интересное решение задачи через цикл for,я не додумался бы,думал надо сделать с вложенными циклами,но тоже не догнал как)) в итоге решил так: a = ['first', 1, 'second', 10, 20, 'third', 30, 40, 50, 'fourth', 15, 25, 45, 21] b = ['first', 'second', 'third', 'fourth'] c = [[1], [10, 20], [30, 40, 50], [15, 25, 45, 21]] print(dict(zip(b, c)))

  • @donfedor007
    @donfedor0073 жыл бұрын

    Решение задачи номер 1 как я вижу. Теперь буду смотреть как надо было решать) a=["first", 1, 2, 3, "second", 10, 20, "third", 5, 56, 70, "fourth", -54] d={} m=[] x=len(a) for i in a: if type (i) == str: b = i m.clear() if type(i) == int: m.append(i) d[b]=m[:x] print (d)

  • @musiclifeoffical
    @musiclifeoffical3 жыл бұрын

    чуть по другому зделал 1 но тот же результат d={} for e in range(len(a)): c =[] if type(a[e]) == str: i = e + 1 while i

  • @Vladislav11111
    @Vladislav111113 жыл бұрын

    Май дикт из биг, май дикт из вери биг (с)

  • @Igorr911
    @Igorr9114 жыл бұрын

    Ни хрена непонятно , я один такой тупой что ли?(((

  • @user-ye3ju5rr5u

    @user-ye3ju5rr5u

    4 жыл бұрын

    нет, он так обучает. дает задачу, говорит что ранее все что нужно для решения он рассказал, начинает писать код и там половину нового......а я ломал голову полчаса.......

  • @felixzhil

    @felixzhil

    4 жыл бұрын

    нет, мне тоже не понятно. но мне сказал сам автор и еще знакомый из айти, что это всегда так будет) ощущение что ты ничего не понимаешь, а вокруг все такие умные. просто продолжай и все)

  • @user-nd9do2nk2j

    @user-nd9do2nk2j

    4 жыл бұрын

    чтобы более менее ориентироваться в его уроках порешай интерактивную(если включить пошаговое выполнение кода, то будешь видеть как код ведет себя не каждом этапе) штуку: pythontutor. будет небольшой бэкграунд - будешь воспринимать более менее информацию.

  • @user-nd9do2nk2j

    @user-nd9do2nk2j

    4 жыл бұрын

    @@felixzhil продолжать не понимать? хороший совет

  • @slava5935

    @slava5935

    4 жыл бұрын

    @@user-nd9do2nk2j как включить пошаговое выполнение кода?

  • @user-oi1lb9lb4d
    @user-oi1lb9lb4d3 жыл бұрын

    lst = ['first', 1, 2, 3, 'second', 4, 5, 'third', 3, 1, 5] myDict = dict() values = [] for elem in lst: while not type(elem) == str: values.append(elem) break if type(elem) == str: values = [] myDict[elem] = values print(myDict)

  • @geek101grew8
    @geek101grew84 жыл бұрын

    Самый лучший учитель Alishev! А где остальные? Хорошо было бы если дальше выйдет

  • @alishevN

    @alishevN

    4 жыл бұрын

    Скоро начну записывать дальше.

  • @imanazigova8147

    @imanazigova8147

    4 жыл бұрын

    alishev здравствуйте! Если можете помогите пожалуйста мне с задачей, я написала код, но не знаю как сделать так чтобы выводились только порядковые номера кратные 3 Создать файл и записать в него обратные натуральные числа 1, 1/2,...,1/n. Вывести на экран все компоненты файла с порядковым номером, кратным 3. На пайтон. Я все в коде написала только вот не могу сделать там чтобы он выводил компоненты из файла с порядковым номером кратным 3, он у меня все выводит.... import pickle ask = "user.dat" n = float(input("n=")) with open(ask, "wb") as f: s = 1; while s

  • @user-cf7bs9uj9n
    @user-cf7bs9uj9n2 жыл бұрын

    Задание сложное, новичкам как мне усвоить бы как вы его решаете в этом видео, не то чтобы самому догадаться как нужно его решить.. Логика в целом понятна, но детали.. и самому о них догадаться мне лично пока крайне затруднительно было бы.

  • @Anonymous-fi2dw

    @Anonymous-fi2dw

    2 жыл бұрын

    жиза

  • @user-yd6ch3ob5x

    @user-yd6ch3ob5x

    2 жыл бұрын

    Да, согласна. Конечно, возможно автор хочет чтобы мы ами нашли информацию в интернете, но тут бы основы выучить и понять. У меня лично с цикла while пошла неразбериха в задачах

  • @TheMainAlexsandr
    @TheMainAlexsandr Жыл бұрын

    Спасибо!

  • @gaymonteg7011
    @gaymonteg70113 жыл бұрын

    посидел над первой задачей часа 3-4. Какие только словари у меня не получались)))) И мешало мне именно то, что я не мог создать переменную без значения и то, что я долго думал, как же добавить в значение к ключу несколько элементов. Хоть убей все прошерстил, но забыл про урок list и упорно его глазами не замечал

  • @serjiodanilenko743

    @serjiodanilenko743

    3 жыл бұрын

    Бывает)

  • @alisaholainen6334
    @alisaholainen63343 жыл бұрын

    А мне понравилось!

  • @yuriipylypiv2117
    @yuriipylypiv21172 жыл бұрын

    Уффф, после трех просмотров видео понял решения.. главное теперь не забыть🙃

  • @CurS-uo6wt
    @CurS-uo6wt2 ай бұрын

    Парился над 1 задачкой, решил с помощью зип) def funct3(): keys = ['first', 'second', 'third', 'fourth',] values = [1, 2, 3], [10,20], [15,60,70], [-50] dictionary = dict(zip(keys, values)) print(dictionary) h7 = funct3() print(h7)

  • @user-tr6pl6hc1q
    @user-tr6pl6hc1q4 жыл бұрын

    Лайк. Когда следующий урок?

  • @Nik_Gor
    @Nik_Gor3 жыл бұрын

    Я использовал метод count для подсчета количества вхождений слов в список.

  • @alexzdorovennov4035
    @alexzdorovennov40353 жыл бұрын

    28:00 Может кто-то мне объяснить, пожалуйста, почему в коде написано "if word in my_dict2: ...." . Как я понял, это означает:" Если в my_dict2 есть word, то что-то произойдёт. Но на этот момент же my_dict2 пустой. Или я баран и что-то не понимаю? Спасибо

  • @petrenkovl

    @petrenkovl

    3 жыл бұрын

    У меня тот же вопрос. Откуда в словаре появились слова, если он инициализируется пустым?

  • @Vladislav11111
    @Vladislav111113 жыл бұрын

    за my_dict лайк )

  • @MrTwodi
    @MrTwodi4 жыл бұрын

    пересмотрел 7 раз так и не понял.

  • @user-eu2bo1dh8b

    @user-eu2bo1dh8b

    3 жыл бұрын

    А что не понятного?

  • @milkiway2678
    @milkiway26783 жыл бұрын

    Понимаю что я сделал не правильно, но по другому не разобрался) d = {'first': [1 , 2, 3], 'second':[10,20], 'third':[15, 56, 70], 'fourth':[-50] } print(d)

  • @user-lg2ri6dz5u

    @user-lg2ri6dz5u

    2 жыл бұрын

    ))))

  • @dsdm407

    @dsdm407

    2 жыл бұрын

    Это называется "пойти по пути наименьшего сопротивления". Все мы так решили, хотя бы в первые полмгновения, как услышали условия задачи))

  • @ryawav
    @ryawav3 жыл бұрын

    не знаю мне лично все понятно, замечательно объясняет человек

  • @parempoomp8673
    @parempoomp86733 жыл бұрын

    d2={'привет':20, 'пока':10} if 'привет' in d2: print('yes') else: *error* *SyntaxError* : unindent does not match any outer indentation level что это за ошибка и как ее решить? пишу в idle python 3.9.0 shell

  • @user-mo6gb9sg8j
    @user-mo6gb9sg8j4 жыл бұрын

    Спасибо! Когда новый урок?

  • @alishevN

    @alishevN

    4 жыл бұрын

    Скоро!

  • @GoPetr
    @GoPetr4 жыл бұрын

    Круто! Но спринг лучше =)))))

  • @user-cp1bo1qq2b
    @user-cp1bo1qq2b3 жыл бұрын

    спасибо

  • @user-je7qn8hu9i
    @user-je7qn8hu9i2 жыл бұрын

    Вторая задача, решение с использованием set() - множество. text = 'никогда не поздно быть тем кем ты мог бы быть никогда не поздно быть тем кем ты мог бы быть' words = text.split() # создаем переменную и присваиваем ей массив со всеми словами из текста set_words = set() # создаем пустое множество for w in words: set_words.add(w) # помещаем слова в set_words (в set() нельзя поместить одинаковые элементы) print(len(set_words)) # выводим количество элементов в множестве set_words >> 9

  • @ylyasakmuhammedov1563
    @ylyasakmuhammedov15632 жыл бұрын

    a = ["first", 1, 2, 3, "second", 20, 30, "third", 15, 30] d = {} for element in a: if type("s") == type(element): key = element value = [] else: value.append(element) d[key] = value

  • @merchindoza
    @merchindoza2 жыл бұрын

    Я немного не понял - задача 2 изначально звучит как - подсчитать количество слов в тексте. Это же считается len(my_text.split(" ")) А потом уже по ходу обьяснения решения выясняется что надо было посчитать количество слов и количество повторяющихся слов тоже!

  • @user-lp2gd8it5x
    @user-lp2gd8it5x3 жыл бұрын

    Привет. У тебя во 2й задаче (2й вариант), решение выводит правильно только потому что в памяти сохранён my_dict2(из предыдущего решения). Если создать новый словарь my_dict3, то выводит только пустые скобки. Проверил в отдельном файле и действительно решение не работает. В любом случае спасибо за уроки! Пример: my_text = "Привет пока как дела привет привет арбуз велосипед стол как слон арбуз да привет" my_dict3 = {} for word in my_text.split(): if word in my_dict3: my_dict3[word] = my_dict3.get(word, 0) + 1 print(my_dict3)

  • @uNkindggg
    @uNkindggg3 жыл бұрын

    В второй задаче. У нас была сначала строка, потом мы в цикле for преобразовали ее в лист, но когда он стал словарем скажите пожалуйста?

  • @aqmoon9889

    @aqmoon9889

    3 жыл бұрын

    Он им не стал, просто мы поставили сразу условие, если такого элемента НЕТ в словаре, то мы его достаем из листа как ключ, присваиваем ему значение и тогда он попадает и начинает создавать сам словарь.

  • @uNkindggg

    @uNkindggg

    3 жыл бұрын

    @@aqmoon9889 Спасибо брат за отзывчивость, но я уже сам допер)

  • @Ache17013
    @Ache170134 жыл бұрын

    годно

  • @dimasydorenko6297
    @dimasydorenko6297 Жыл бұрын

    list5 = ['first', 1, 2, 3,'second',10, 20,'third',15, 56, 70,'fourth', -50] dict3 = {} for vari1 in list5: if type(vari1) == str: el = [] dict3[vari1] = el else: el.append(vari1) print(dict3) Вот еще способ решения первой задачи, боле проще , как по мне

  • @user-jp4dg8he3c
    @user-jp4dg8he3c4 жыл бұрын

    Отличные уроки! Будет ли продолжение по Python?

  • @alishevN

    @alishevN

    4 жыл бұрын

    Да

  • @user-kv8kt7mi9i

    @user-kv8kt7mi9i

    4 жыл бұрын

    @@alishevN когда

  • @annaalexandrova6946
    @annaalexandrova69464 жыл бұрын

    Ура!

  • @user-jx5vy2ix7c
    @user-jx5vy2ix7c3 жыл бұрын

    Не очень понял, как работает .append для словаря. Можете объяснить пожалуйста логику работы этой функции? Логику добавления в обычный список понял, там всё просто.

  • @anynick7587

    @anynick7587

    2 жыл бұрын

    еще актуально?

  • @user-dz1uq5sd5b
    @user-dz1uq5sd5b3 жыл бұрын

    Подскажите пожалуйста, условие второй задачки! Не совсем понял, что необходимо сделать!

  • @user-dz1uq5sd5b

    @user-dz1uq5sd5b

    3 жыл бұрын

    почитал комментарии, вроде понял суть задания, но решение, опять-таки, далеко от изящности... my_text = "Иду работать работать работать чтобы потом не работать и тупа кайфовать тупа атдыхать атдыхать работать" a = my_text.split() d = {} for i in range(len(a)): counter = 0 for j in range(len(a)): if a[i] == a[j]: counter += 1 d[a[i]] = counter print(d)

  • @DarkMitr
    @DarkMitr3 жыл бұрын

    20:48 немного не честные условия. Я решил задачу немного другим способом, не знал что можно сразу добавлять через append в словарь ключи, поэтому сделал через две временные переменные, которые потом добавлялись как пара ключ-значение.

  • @automaks

    @automaks

    2 жыл бұрын

    Такая же история :)

  • @nikolaypirozhkov9786

    @nikolaypirozhkov9786

    2 жыл бұрын

    так мы не относительно словаря делаем .append, а относительно списка

  • @user-eu4kj6xj1k
    @user-eu4kj6xj1k2 жыл бұрын

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

  • @yevheniidashchenko4228
    @yevheniidashchenko42283 жыл бұрын

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

  • @donfedor007

    @donfedor007

    3 жыл бұрын

    for in list: if type(i) ==str: # это ключ pass elif type(i) == int: # это значение pass По типу строчный или числовой

  • @cerber9715
    @cerber9715 Жыл бұрын

    Здравствуйте, в моменте 10:17 вывод: ключ - значение. Не легче было бы просто написать print("Ключ: ",key, " ,значение: ",value), без перевода переменных в тип str. Заранее спасибо!

  • @user-sz6cv1bo1l
    @user-sz6cv1bo1l3 жыл бұрын

    #потратил не меньше 4-х часов на решение, задача была не из легких (особенно когда не знал как в 1 значении иметь от 1-го значения , и то где хранить данные ) a = ["first", 1,2,3,4,5,"second",7,8,9, "thir",11,12,13,"fur",15,-16] #сюда можно добавлять слова в зависимости от вместимости словаря i = 0 b = 0 x = 0 v = 0 m = 0 n = {} z = ["q","w","e","r","t","y","u","i","o","p"] #вместимость словаря print ("вместимость словаря :",len(z)-1,"слов") while m while i z[x] = [] n[a[i]]=z[x] i +=1 while i z[x].append(a[i]) if i i +=1 else: break x +=1 m +=1 print (n["first"])#поиск по имени print (n )# полный словарь

  • @mrsalem8118
    @mrsalem81184 жыл бұрын

    Ещё уроков запили, плииииииииз

  • @QNikronQ
    @QNikronQ Жыл бұрын

    Задание 1 d = {} a = ["first", 1, 2, 3, "second", 10, 20, "third", 15, 56, 70, "fourth", -50] key = 0 for element in range(len(a)): if type(a[element]) == str: key = a[element] l = [] else: l.append(a[element]) d[key] = l print(d)

  • @lokampsokolov
    @lokampsokolov3 жыл бұрын

    С 3.6 словарь является упорядоченным

  • @oups_leveron_crash1639
    @oups_leveron_crash16394 жыл бұрын

    Когда новый урок?

  • @VitaliiKondratiuk-sw5js
    @VitaliiKondratiuk-sw5js3 жыл бұрын

    2 задание! my_text = "Привет как дела сколько дел тут накопилось мне конец и єто правда" my_text = my_text.split(" ") print(len(my_text))

  • @user-wt1tp2ff3h
    @user-wt1tp2ff3h3 жыл бұрын

    А что если первый элемент в списке будет не строка? А будет ошибка. Так что лучше блок "else:" заменить на "elif len(my_dict) > 0:" и уже там делать append(e) по ключу. Но за урок и задачи спасибо!

  • @user-hj2go5cf1z
    @user-hj2go5cf1z2 жыл бұрын

    а что делать если в юпитере нотбук вібивает ошибку 404?

  • @andriirogan3602
    @andriirogan3602 Жыл бұрын

    d.items() ------> ето же метод словаря а не функция.... да?

  • @ttdarko1642
    @ttdarko16424 жыл бұрын

    Как новичку первую задачу получилось решить только для конкретных данных. Понимаю, что задачка дается на подумать, но как-то очень неочевидно. На основе изученнего на канале ранее - точно бы не получилось дойти.

  • @alishevN

    @alishevN

    4 жыл бұрын

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

  • @user-md3pv1to4l
    @user-md3pv1to4l3 жыл бұрын

    Решил 1 задачу начиная с конца списка, может кому интересно a = ['first', 1, 2, 3, 'second', 10, 20, 'third', 44, 543, 333,'fourth', -50] d = {} e = {} b = [] for i in range (len(a)-1,-1,-1): if type(a[i]) == int: b.append(a[i]) else: d[a[i]] = b[::-1] b = [] c = list(d)[::-1] for i in range (len(c)): e[c[i]] = d[c[i]] print(e)

  • @Galim_Madraimov
    @Galim_Madraimov2 жыл бұрын

    Добрый день Хочу воспользоваться подсказкрй в моей конкретной задаче. Задаче в том, чтобы создать цикл который будет по требованиям создавать словари с ключами и значениями в общем словаре. Пример Есть словарь GORODA ={} В него нужно помещать другие словари с именами городов Например MOSCOW {} С ключем "POPULATION" и значением 12000000: Пользователь должен по запросу вводить имена городов как ключи и вводить соответствующие значения. По завершении написать 'NO' и цикл закончится и выведет словарь с ключами и значениями введённых городов. Спасибо большое надеюсь понятно изложил. Прошу хелп.

  • @felixzhil
    @felixzhil4 жыл бұрын

    ура!

  • @crypton3569
    @crypton35692 жыл бұрын

    a = ["First", 1, 2, 3, "Second", 10, 20, "Third", 15, 56, 70, "Fourth", -50] def dictionary(x): dic = {} for i in x: if type(i) == str: key = str(i) listo = [] dic[key] = listo else: listo.append(int(i)) print(dic) dictionary(a)

  • @user-oy9qk4om1x
    @user-oy9qk4om1x Жыл бұрын

    Для первого задания: for elem in a: if type(elem) == str: s = [] d[elem] = s else: s.append(elem) чем не вариант?

  • @enver-bey

    @enver-bey

    Жыл бұрын

    Для вас было легко??

  • @user-fp9tj8bj1e
    @user-fp9tj8bj1e4 жыл бұрын

    Я запутался. Есть команда if e in my_dict: НО словарь my_dict пустой! как переменная 'e' пожет проверить пустой словарь и найти там нужное слово? И ещё страннее то, что команда добавляющая в my_dict переменную 'e' идёт уже после условия. Как так происходит? Объясните логику.

  • @user-pl7ik9to5b

    @user-pl7ik9to5b

    4 жыл бұрын

    for e in a: - строка, а не "my_dict". То есть, сначала, берется первый член из списка "а" - "first" и определяется его тип. Если тип str, то добавляется в словарь my_dict. Потом берется второй член из списка "а" - "1", его тип не является "str" поэтому отрабатывается блок else, по которому к созданному ранее ключу добавляется значение. И т.д. Мне самому непонятно только одно, как распознается программой, что результат блока else определяется на место значения. Почему не ключа?

  • @slava5935

    @slava5935

    4 жыл бұрын

    Как я понял ты о второй задаче. По идее переменная "е" проверяет словарь, в котором изначально ничего нет, пропускается первое условие, потому что проверяемого слова там точно нет, и выполняется второе, когда слову присваивается единица. Если следующим будет такое же слово, то выполнится первое условие, по которому к единице из предыдущего цикла прибавляется ещё единица. Получается слово встречается два раза, и в списке значение ключа тоже будет 2. Если слово будет другим, то цикл повториться снова со второго условия.

  • @user-uq5xr6xo4j
    @user-uq5xr6xo4j2 жыл бұрын

    Вот чего добился я, в конце попахивает Hard cod-ом но работает при любых значениях. ЭТО МОЙ ПУТЬ! d = {} t = [] j = 0 q = 0 for i in range(len(a)-1): if type(a[j]) == str: d[a[j]] = 1 t.append(a[j+1]) j += 1 else: if type(a[j]) == int and type(a[j-1]) == str: j += 1 else: if type(a[j]) == int and type(a[j+1]) == int: t.append(a[j]) j += 1 else: t.append(a[j]) d[a[q]] = t j += 1 q = j t = [] d[a[-2]] = a[-1] print(d)

  • @natakraft6084
    @natakraft60843 жыл бұрын

    Как написать код к задаче? Чтоб на консоль выводилось именно то что ниже (новичок) Продукт | Количество = Стоимость Носки | | 2 = 1000 тенге

  • @mr.naotari
    @mr.naotari11 ай бұрын

    С версии Python 3.6 словари являются упорядоченной структурой данных

  • @donfedor007
    @donfedor0073 жыл бұрын

    посчитать слова без словаря можно так: a = "Приве пока как дела привет привет арбуз слон арбуз стол" print (len(a.split(' ')))

  • @hiromihirota654
    @hiromihirota6544 жыл бұрын

    А как усложнить задачу? Хочу вывести самое популярное слово в тексте

  • @alishevN

    @alishevN

    4 жыл бұрын

    Надо пройтись по словарю и посмотреть, у какого слова наибольший счётчик

  • @donfedor007
    @donfedor0073 жыл бұрын

    Надо было повторные считать)

  • @deniszest
    @deniszest3 жыл бұрын

    не понял зачем глобал переменная None, если и без нее всэр прекрасно работает?

  • @kvityzgames2407
    @kvityzgames24074 жыл бұрын

    почему когда вы рассказывали я понимал, а как задачи то все ,ступор?

  • @alishevN

    @alishevN

    4 жыл бұрын

    Так всегда бывает. Понимать объяснение и уметь делать самостоятельно - это разные вещи. Надо больше практиковаться.

  • @kvityzgames2407

    @kvityzgames2407

    4 жыл бұрын

    @@alishevN Спасибо

  • @m16utah
    @m16utah4 жыл бұрын

    подписался, жду новый видос.

  • @serjiodanilenko743
    @serjiodanilenko7433 жыл бұрын

    вот решил иначе пока не знал что в словарь можно под ключом положить пустой список, всё это уже прошли list1 = ['first', 1, 2, 3, 'second', 20,30, 'third', 15, 56, 70, 'fourth', -50] my_dict = {} cont = None my_list= [] for i in list1: if type(i) == str and len(my_list) > 0: my_dict[cont] = my_list if type(i) == str: cont = i my_list = [] else: my_list.append(i) print(my_dict) ps. ребята думайте головой, над реализацией, на мой взгляд пусть она будет даже иной и более ёмкой, зато именно вашей. Далее легче будет въехать и понимать принципы, плюсы и минусы других решений, и юзать лучшие из них в последующих задачах.

  • @naviurban2000
    @naviurban20003 жыл бұрын

    Можно наверно покороче, но пока так a = ["first", 1, 2, 3, "second", 10, 20, "third", 15, 56, 70, "fourth", -50] x = {} # создаем пустой словарь for i in (a): # узнаем кол-во ключей if type(i) == str: x[i] = [] # добавляем ключи в словарь for key, value in x.items(): # заполняем значение (список) соотв. ключей for s in a: if key == s: # попадаем на нужное слово в списке a p = a.index(key) + 1 while type(a[p]) != str: value.append(a[p]) p += 1 if len(a) == p: # проверка чтобы не выскочить за пределы списка a break print(x) # {'first': [1, 2, 3], 'second': [10, 20], 'third': [15, 56, 70], 'fourth': [-50]}

Келесі