Belajar Python: Loops

Di python untuk pengulangan bisa menggunkan for ataupun while. Untuk for membaca di dokumentasi katanya agak berbeda dengan for di bahasa lain. Jika di bahasa lain biasanya for digunakan untuk mengulang dari penjabaran aritmatik, for di sini biasanya untuk mengulang dari sebuah urutan entah itu list atau dictionary.
— mohon koreksinya kalo salah —

For

Misal kita punya sebuah list dan ingin menampilkan setiap nilai indeksnya.

somelist = ['p','u','c','h']
for l in somelist:
    print(l)
# output
# p
# u
# c
# h

Dan kayanya string di python itu mirip dengan list atau emang list? Karena string bisa juga di-loop.

name = 'depuch'
for n in name:
    print(n)
# output
# d
# e
# p
# u
# c
# h

Jika ingin mengulang berdasarkan jumlah tertentu kita bisa menggunakan fungsi bawaan python yaitu range()

for i in range(0,5):
    print(i)
# output
# 0
# 1
# 2
# 3
# 4

Selainlist kita bisa menggunakan for untuk dictionary, misal jika punya dictionary seperti berikut:

somedict = {'name': 'Put', 'age': 18, 'job': 'idol'}
for i in somedict:
    print(i)
# output
# name
# age
# job

Ternyata hasilnya hanya menampilkan key nya saja, bagaimana untuk mendapatkan key dan value nya? Ternyata cukup mudah.

for key, val in somedict.items():
    print(key+': ', val)
# output
# name: Put
# age: 18
# job: idol

While

Selain for satu lagi adalah while, bedanya jika for mengulang yang berada dalam sebuah urutan, while akan mengulang jika kondisinya true.

i = 0
while i < 5:
    print(i)
    i+=1
# output
# 0
# 1
# 2
# 3
# 4

Itu kalau dibaca -- sekali lagi koreksi jika saya salah -- selama nilai i kurang dari 5 maka tampilkan, sedangkan i+=1 artinya menambahkan satu nilai kepada i setiap pengulangan.

Untuk mengakses list pake while kalau maupun bisa

indeks = 0
while indeks < len(somelist):
    print(somelist[indeks])
    indeks+=1
# output
# p
# u
# c
# h

Sumber:
1. https://www.youtube.com/watch?v=6TEGxJXLAWQ&index=6&list=PLBZBJbE_rGRWeh5mIBhD-hhDwSEDxogDg
2. https://www.youtube.com/watch?v=OnDr4J2UXSA&list=PLBZBJbE_rGRWeh5mIBhD-hhDwSEDxogDg&index=5
3. https://www.youtube.com/watch?v=6iF8Xb7Z3wQ
4. https://www.youtube.com/watch?v=k9TUPpGqYTo
5. https://docs.python.org/3.6/tutorial/datastructures.html
6. https://docs.python.org/3/tutorial/controlflow.html