Iterable VS Iterator Explained In Python

แชร์
ฝัง
  • เผยแพร่เมื่อ 3 ม.ค. 2025

ความคิดเห็น •

  • @jimalix6270
    @jimalix6270 22 วันที่ผ่านมา +1

    Thanks!

    • @Indently
      @Indently  22 วันที่ผ่านมา

      Thanks for the support!

  • @khonello
    @khonello 4 หลายเดือนก่อน +25

    Using a book as an example.
    The book is the iterable, the pages are the items in the iterable [ item1, item2 ].
    You going through the pages is what is technically referred to as iterating.
    So an iterator is what enables you to go through an iterable.
    It is what allows you to go through the pages.
    An iterable is a collection of items.
    Python by default provides different types of iterators for each type of iterable, each iterator has it only unique benefits. You can create your own. Example: A generator object is an iterator.

    • @DrDeuteron
      @DrDeuteron 4 หลายเดือนก่อน +3

      but no. A book is a sequence. iter(book) is the iterator. I mean when you read a page, is it gone forever?

    • @khonello
      @khonello 4 หลายเดือนก่อน

      @@DrDeuteron Am not getting the point you are trying to make here.

    • @DrDeuteron
      @DrDeuteron 4 หลายเดือนก่อน

      yeh, no. Your right. Books are iterable. Now an online book that gives you one page at a time, once, is an iterator.

    • @khonello
      @khonello 4 หลายเดือนก่อน +2

      @@DrDeuteron You are using a very specific example edge case to debunk my whole explanation, which is very wrong.
      And what you are saying best fit a ‘Generator’ object.

    • @mr.g937
      @mr.g937 4 หลายเดือนก่อน +3

      To continue your analogy - an iterator is a bookmark, and iterable is the book

  • @ML_Enthusiast
    @ML_Enthusiast 4 หลายเดือนก่อน +4

    Useful and informative

    • @Afzal3000
      @Afzal3000 4 หลายเดือนก่อน

      ++

  • @goobiie
    @goobiie 3 หลายเดือนก่อน

    Excellent information!

  • @pokerchannel6991
    @pokerchannel6991 3 หลายเดือนก่อน

    nice. I use generators by yielding. and I like making them infinite so there is no running out of elements. Won't throw an exception

  • @lostyguy7602
    @lostyguy7602 4 หลายเดือนก่อน +3

    Could you explain how to use 'self'? like in def xyz(self): ?

    • @Indently
      @Indently  4 หลายเดือนก่อน +2

      I'll try to make the next video specifically about that

    • @Indently
      @Indently  4 หลายเดือนก่อน +7

      What is self, don't hurt me, don't hurt me, no more...
      **beat drop**

    • @johnb8336
      @johnb8336 4 หลายเดือนก่อน +1

      Self is just used within classes to specify that its an instance of the class itself. It also makes the variable accessible in the class from anywhere.

    • @DrDeuteron
      @DrDeuteron 4 หลายเดือนก่อน

      @@Indently python is all about pop culture refs...

    • @lostyguy7602
      @lostyguy7602 4 หลายเดือนก่อน

      ​@@Indently At first I thought 'how could he not know' and then I realized...

  • @mr.g937
    @mr.g937 4 หลายเดือนก่อน +14

    You should have imported these from `collections.abc`, not `typing`. That's the modern way to do it

    • @lhard123l
      @lhard123l 4 หลายเดือนก่อน +1

      Oh I came to argue because I thought there was some difference but I checked pep, docs and last one source where is written that alias in typing is deprecated so I must agree you are right

  • @gehadgadallh9065
    @gehadgadallh9065 4 หลายเดือนก่อน +1

    Thanks for knowledges.

  • @tigrux
    @tigrux 4 หลายเดือนก่อน +1

    Is there a fork of Python that enforces annotations in "compile" time or in runtime?

    • @MichielvanderBlonk
      @MichielvanderBlonk 4 หลายเดือนก่อน

      You mean Java

    • @tigrux
      @tigrux 4 หลายเดือนก่อน

      @@MichielvanderBlonk Kotlin in that case.

    • @anon_y_mousse
      @anon_y_mousse 4 หลายเดือนก่อน +1

      Nope. I've been playing with 3.14, the version I'll call Pi-thon, and even it doesn't enforce type annotations.

    • @lukekurlandski7653
      @lukekurlandski7653 4 หลายเดือนก่อน +1

      mypy

  • @dipeshsamrawat7957
    @dipeshsamrawat7957 4 หลายเดือนก่อน +1

    Thank you 😊

  • @pokerchannel6991
    @pokerchannel6991 3 หลายเดือนก่อน

    hmmm that seems very similar to generators. I have made generators before that says next(some_gen) to increment to the next item

  • @syrupthesaiyanturtle
    @syrupthesaiyanturtle 4 หลายเดือนก่อน

    where do these fit in within python's built in data type hierarchy?

    • @syrupthesaiyanturtle
      @syrupthesaiyanturtle 4 หลายเดือนก่อน

      3:58 also pls explain how the 'yield from range(n)' works

  • @proton..
    @proton.. 4 หลายเดือนก่อน +2

    5:00 😂😂

  • @cocoatea57
    @cocoatea57 4 หลายเดือนก่อน

    Thanks

  • @adamz.6812
    @adamz.6812 4 หลายเดือนก่อน +14

    Haha, the police

  • @MasterSergius
    @MasterSergius 4 หลายเดือนก่อน

    If you have 'Luigi', then why you don't have 'Mario'?

  • @RoboArc
    @RoboArc 2 หลายเดือนก่อน

    How luch faster is this than just
    For i in range(len(list_)):
    Print( list[i] )
    Lol

  • @rishiraj2548
    @rishiraj2548 4 หลายเดือนก่อน

    🎉

  • @DggdgtCgjcg
    @DggdgtCgjcg 4 หลายเดือนก่อน

    How to make any auto login script using combo list tips make a video please

  • @CorvoAttano-xu8bv
    @CorvoAttano-xu8bv หลายเดือนก่อน

    too complicated , you start with a lot of data types and all sugary syntaxes. Could have just explained with the basic syntaxes.