0

good question

if we use 'in' in while loop it becomes a infinite loop but in for loop it becomes as length of list why??

22nd Nov 2020, 1:19 PM
Girish Bhoi
Girish Bhoi - avatar
1 Answer
+ 5
In is a keyword used to check, whether a certain item exists in a list (or other similar objects) and it evaluates a boolean: true, if the searched item exists in the list, otherwise false. Examples: 9 in [9, 4, 5] ---> True 2 in [1, 3, 4] ---> False 8 in [7, 8, 8] ---> True Range objects work much like lists and you are also allowed to check whether an item exists in a range object: 9 in range(10) ---> True 10 in range(10) ---> False 1 in range(0, 10, 2) ---> False And a similar boolean was evaluated by the while loop. Using while loop: while i in range(10): print(i) Would still result in error, because variable i isn't defined, but I'm assuming you tried something like this: for i in range(10): print(i) while i in range(10): print(i) Where i was defined by the for loop and i ended up with value 9, which you used in the while loop expression and which would equal: while 9 in range(10): print(i) and because 9 in range(10) is always True, the loop became infinite.
22nd Nov 2020, 1:40 PM
Seb TheS
Seb TheS - avatar