Lists¶
Lists¶
mylist = ["apple", "banana", "cherry"]
List digunakan untuk menyimpan beberapa item dalam satu variabel.
List adalah salah satu dari 4 tipe data bawaan Python yang digunakan untuk menyimpan kumpulan data. Tiga tipe data lainnya adalah Tuple, Set, dan Dictionary, yang semuanya memiliki kualitas dan penggunaan yang berbeda.
List dibuat menggunakan tanda kurung siku:
thislist = ["apple", "banana", "cherry"]
print(thislist)
List Items¶
Item daftar diurutkan, dapat diubah, dan memungkinkan nilai duplikat.
Item daftar diindeks, item pertama memiliki indeks [0], item kedua memiliki indeks [1], dst.
Ordered¶
Ketika kita mengatakan bahwa daftar diurutkan, artinya item-itemnya memiliki urutan yang pasti, dan urutan tersebut tidak akan berubah.
Jika Anda menambahkan item baru ke dalam daftar, item baru tersebut akan ditempatkan di akhir daftar.
Catatan
Ada beberapa metode daftar yang akan mengubah urutannya, tetapi secara umum: urutan item tidak akan berubah.
Changeable¶
Daftar tersebut dapat diubah, artinya kita dapat mengubah, menambah, dan menghapus item dalam daftar setelah daftar dibuat.
Allow Duplicates¶
Karena daftar diindeks, daftar dapat memiliki item dengan nilai yang sama:
thislist = ["apple", "banana", "cherry", "apple", "cherry"]
print(thislist)
List Length¶
Untuk menentukan berapa banyak item yang dimiliki suatu daftar, gunakan fungsi len():
thislist = ["apple", "banana", "cherry"]
print(len(thislist)) # return 3
List Items - Data Types¶
Item daftar dapat berupa tipe data apa pun:
# String, int and boolean data types:
list1 = ["apple", "banana", "cherry"]
list2 = [1, 5, 7, 9, 3]
list3 = [True, False, False]
# A list can contain different data types:
list1 = ["abc", 34, True, 40, "male"]
type()¶
Dari perspektif Python, daftar didefinisikan sebagai objek dengan tipe data 'daftar':
<class 'list'>
What is the data type of a list?
mylist = ["apple", "banana", "cherry"]
print(type(mylist))
# return <class 'list'>
The list() Constructor¶
Dimungkinkan juga untuk menggunakan konstruktor list() saat membuat daftar baru.
thislist = list(("apple", "banana", "cherry")) # note the double round-brackets
print(thislist)
Koleksi Python (Array)¶
Ada empat tipe data koleksi dalam bahasa pemrograman Python:
List adalah koleksi yang diurutkan dan dapat diubah. Mengizinkan anggota duplikat.
Tuple adalah koleksi yang diurutkan dan tidak dapat diubah. Mengizinkan anggota duplikat.
Set adalah koleksi yang tidak diurutkan, tidak dapat diubah*, dan tidak terindeks. Tidak ada anggota duplikat.
Dictionary adalah koleksi yang diurutkan** dan dapat diubah. Tidak ada anggota duplikat.
Catatan
*Item set tidak dapat diubah, tetapi Anda dapat menghapus dan/atau menambahkan item kapan pun Anda mau.
**Mulai Python versi 3.7, dictionary diurutkan. Pada Python 3.6 dan versi sebelumnya, dictionary tidak diurutkan.
Saat memilih tipe koleksi, penting untuk memahami properti tipe tersebut. Memilih tipe yang tepat untuk set data tertentu dapat berarti mempertahankan makna, dan, dapat berarti peningkatan efisiensi atau keamanan.
Access List Items¶
Item daftar diindeks dan Anda dapat mengaksesnya dengan merujuk ke nomor indeks:
thislist = ["apple", "banana", "cherry"]
print(thislist[1]) # return banana
# The first item has index 0.
Negative Indexing ~~~
Pengindeksan negatif berarti mulai dari akhir.
-1 mengacu pada item terakhir, -2 mengacu pada item kedua terakhir, dst.
thislist = ["apple", "banana", "cherry"]
print(thislist[-1]) # return cherry
Range of Indexes¶
Anda dapat menentukan rentang indeks dengan menentukan titik awal dan titik akhir rentang.
Saat menentukan rentang, nilai yang dikembalikan akan berupa daftar baru dengan item yang ditentukan.
thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(thislist[2:5])
# return ['cherry', 'orange', 'kiwi']
#This will return the items from position 2 to 5.
#Remember that the first item is position 0,
#and note that the item in position 5 is NOT included
Range of Negative Indexes¶
Tentukan indeks negatif jika Anda ingin memulai pencarian dari akhir daftar:
thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(thislist[-4:-1])
# return ['orange', 'kiwi', 'melon']
#Negative indexing means starting from the end of the list.
#This example returns the items from index -4 (included) to index -1 (excluded)
#Remember that the last item has the index -1,
Check if Item Exists¶
Untuk menentukan apakah item tertentu ada dalam daftar, gunakan kata kunci in:
thislist = ["apple", "banana", "cherry"]
if "apple" in thislist:
print("Yes, 'apple' is in the fruits list")
# return Yes, 'apple' is in the fruits list
Change List Items¶
Change Item Value¶
Untuk mengubah nilai item tertentu, lihat nomor indeks:
thislist = ["apple", "banana", "cherry"]
thislist[1] = "blackcurrant"
print(thislist)
# return ['apple', 'blackcurrant', 'cherry']
Change a Range of Item Values¶
Untuk mengubah nilai item dalam rentang tertentu, tentukan daftar dengan nilai baru, dan rujuk rentang nomor indeks tempat Anda ingin memasukkan nilai baru:
# Change the values "banana" and "cherry" with the values "blackcurrant" and "watermelon":
thislist = ["apple", "banana", "cherry", "orange", "kiwi", "mango"]
thislist[1:3] = ["blackcurrant", "watermelon"]
print(thislist)
# return ['apple', 'blackcurrant', 'watermelon', 'orange', 'kiwi', 'mango']
Jika Anda memasukkan lebih banyak item daripada yang Anda ganti, item baru akan dimasukkan di tempat yang Anda tentukan, dan item yang tersisa akan dipindahkan sesuai dengan itu:
# Change the second value by replacing it with two new values:
thislist = ["apple", "banana", "cherry"]
thislist[1:2] = ["blackcurrant", "watermelon"]
print(thislist)
# return ['apple', 'blackcurrant', 'watermelon', 'cherry']
Catatan
Panjang daftar akan berubah jika jumlah item yang dimasukkan tidak sesuai dengan jumlah item yang diganti.
Jika Anda memasukkan item yang lebih sedikit daripada yang Anda ganti, item baru akan dimasukkan di tempat yang Anda tentukan, dan item yang tersisa akan dipindahkan sesuai dengan itu:
thislist = ["apple", "banana", "cherry"]
thislist[1:3] = ["watermelon"]
print(thislist)
# return ['apple', 'watermelon']
Insert Items¶
Untuk menyisipkan (insert) item daftar baru tanpa mengganti nilai yang sudah ada, kita dapat menggunakan metode insert().
thislist = ["apple", "banana", "cherry"]
thislist.insert(2, "watermelon")
print(thislist)
# return ['apple', 'banana', 'watermelon', 'cherry']
Catatan
Sebagai hasil dari contoh di atas, daftar sekarang akan berisi 4 item.
Add List Items¶
Append Items¶
Untuk menambahkan item ke akhir daftar, gunakan metode append():
thislist = ["apple", "banana", "cherry"]
thislist.append("orange")
print(thislist)
#return ['apple', 'banana', 'cherry', 'orange']
Insert Items¶
Untuk menyisipkan item daftar pada indeks tertentu, gunakan metode insert().
thislist = ["apple", "banana", "cherry"]
thislist.insert(1, "orange")
print(thislist)
#return ['apple', 'orange', 'banana', 'cherry']
Extend List¶
Untuk menambahkan elemen dari daftar lain ke daftar saat ini, gunakan metode extend()
thislist = ["apple", "banana", "cherry"]
tropical = ["mango", "pineapple", "papaya"]
thislist.extend(tropical)
print(thislist)
#return ['apple', 'banana', 'cherry', 'mango', 'pineapple', 'papaya']
Add Any Iterable¶
Metode extend() tidak harus menambahkan daftar, Anda dapat menambahkan objek apa pun yang dapat diulang (tupel, set, dictionaries, dll.).
thislist = ["apple", "banana", "cherry"]
thistuple = ("kiwi", "orange")
thislist.extend(thistuple)
print(thislist)
#return ['apple', 'banana', 'cherry', 'kiwi', 'orange']
Remove List Items¶
Metode remove() menghapus item yang ditentukan.
thislist = ["apple", "banana", "cherry"]
thislist.remove("banana")
print(thislist)
#return ['apple', 'cherry']
Jika ada lebih dari satu item dengan nilai yang ditentukan, metode remove() menghapus kemunculan pertama:
thislist = ["apple", "banana", "cherry", "banana", "kiwi"]
thislist.remove("banana")
print(thislist)
#return ['apple', 'cherry', 'banana', 'kiwi']
Remove Specified Index¶
Metode pop() menghapus indeks yang ditentukan.
#Remove the second item:
thislist = ["apple", "banana", "cherry"]
thislist.pop(1)
print(thislist)
#return ['apple', 'cherry']
Jika Anda tidak menentukan indeks, metode pop() akan menghapus item terakhir.
thislist = ["apple", "banana", "cherry"]
thislist.pop()
print(thislist) #return ['apple', 'banana']
Kata kunci del juga menghapus indeks yang ditentukan:
thislist = ["apple", "banana", "cherry"]
del thislist[0]
print(thislist) #return ['banana', 'cherry']
Kata kunci del juga dapat menghapus daftar sepenuhnya.
thislist = ["apple", "banana", "cherry"]
del thislist
print(thislist) #this will cause an error because you have succsesfully deleted "thislist".
Clear the List¶
Metode clear() mengosongkan daftar. List tersebut tetap ada, tetapi tidak memiliki konten.
thislist = ["apple", "banana", "cherry"]
thislist.clear()
print(thislist) #return []
Loop Lists¶
Loop Through a List¶
Anda dapat melakukan pengulangan pada item-item dalam daftar dengan menggunakan for loop:
thislist = ["apple", "banana", "cherry"]
for x in thislist:
print(x)
#return
apple
banana
cherry
Loop Through the Index Numbers¶
Anda juga dapat melakukan pengulangan pada item-item dalam daftar dengan merujuk pada nomor indeksnya. Gunakan fungsi range() dan len() untuk membuat iterable yang sesuai.
thislist = ["apple", "banana", "cherry"]
for i in range(len(thislist)):
print(thislist[i])
Using a While Loop¶
Anda dapat melakukan perulangan melalui item-item dalam daftar menggunakan while loop.
Gunakan fungsi len() untuk menentukan panjang daftar, lalu mulai dari 0 dan lakukan perulangan melalui item-item dalam daftar dengan merujuk pada indeksnya.
Ingatlah untuk menambah indeks sebesar 1 setelah setiap iterasi.
thislist = ["apple", "banana", "cherry"]
i = 0
while i < len(thislist):
print(thislist[i])
i = i + 1
Looping Using List Comprehension¶
Pemahaman Daftar (List Comprehension) menawarkan sintaksis terpendek untuk melakukan pengulangan melalui daftar:
thislist = ["apple", "banana", "cherry"]
[print(x) for x in thislist]
List Comprehension¶
Pemahaman daftar menawarkan sintaksis yang lebih singkat ketika Anda ingin membuat daftar baru berdasarkan nilai dari daftar yang sudah ada.
Contoh:
Berdasarkan daftar buah-buahan, Anda menginginkan daftar baru yang hanya berisi buah-buahan dengan huruf "a" pada namanya.
Tanpa list comprehension, Anda harus menulis pernyataan for dengan pengujian kondisional di dalamnya:
fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
newlist = []
for x in fruits:
if "a" in x:
newlist.append(x)
print(newlist) #return ['apple', 'banana', 'mango']
Dengan list comprehension, Anda dapat melakukan semua itu hanya dengan satu baris kode:
fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
newlist = [x for x in fruits if "a" in x]
print(newlist) #return ['apple', 'banana', 'mango']
The Syntax¶
newlist = [expression for item in iterable if condition == True]
Nilai yang dikembalikan adalah list baru, yang tidak mengubah list lama.
Condition¶
Kondisi ini seperti filter yang hanya menerima item yang bernilai True.
fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
newlist = [x for x in fruits if x != "apple"]
print(newlist) #return ['banana', 'cherry', 'kiwi', 'mango']
Kondisi jika x != "apel" akan mengembalikan nilai True untuk semua elemen selain "apel", sehingga daftar baru berisi semua buah kecuali "apel".
Kondisi ini opsional dan dapat diabaikan:
#With no if statement:
newlist = [x for x in fruits]
Iterable¶
Yang dapat diulang dapat berupa objek apa pun yang dapat diulang, seperti list, tupel, set, dan sebagainya.
newlist = [x for x in range(10)]
print(newlist) #return [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
newlist = [x for x in range(10) if x < 5]
print(newlist) #return [0, 1, 2, 3, 4]
Expression¶
Ekspresi adalah item saat ini dalam iterasi, tetapi juga merupakan hasil, yang dapat Anda manipulasi sebelum berakhir seperti list item dalam list baru:
Set the values in the new list to upper case:
fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
newlist = [x.upper() for x in fruits]
print(newlist)
#return ['APPLE', 'BANANA', 'CHERRY', 'KIWI', 'MANGO']
Anda dapat mengatur hasilnya sesuai keinginan Anda:
fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
newlist = ['hello' for x in fruits]
print(newlist) #return ['hello', 'hello', 'hello', 'hello', 'hello']
Ekspresi tersebut juga dapat berisi kondisi, tidak seperti filter, tetapi sebagai cara untuk memanipulasi hasilnya:
fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
newlist = [x if x != "banana" else "orange" for x in fruits]
print(newlist) #return ['apple', 'orange', 'cherry', 'kiwi', 'mango']
# The expression in the example above says:
# "Return the item if it is not banana, if it is banana return orange".
Sort Lists¶
Sort List Alphanumerically¶
Objek daftar memiliki metode sort() yang akan mengurutkan daftar secara alfanumerik, menaik, secara default:
thislist = ["orange", "mango", "kiwi", "pineapple", "banana"]
thislist.sort()
print(thislist) #return ['banana', 'kiwi', 'mango', 'orange', 'pineapple']
thislist = [100, 50, 65, 82, 23]
thislist.sort()
print(thislist) #return [23, 50, 65, 82, 100]
Sort Descending¶
Untuk mengurutkan secara menurun, gunakan argumen kata kunci reverse = True:
thislist = ["orange", "mango", "kiwi", "pineapple", "banana"]
thislist.sort(reverse = True)
print(thislist) #return ['pineapple', 'orange', 'mango', 'kiwi', 'banana']
thislist = [100, 50, 65, 82, 23]
thislist.sort(reverse = True)
print(thislist) #return [100, 82, 65, 50, 23]
Customize Sort Function¶
Anda juga dapat menyesuaikan fungsi Anda sendiri dengan menggunakan argumen kata kunci key = function.
# Sort the list based on how close the number is to 50:
def myfunc(n):
return abs(n - 50)
thislist = [100, 50, 65, 82, 23]
thislist.sort(key = myfunc)
print(thislist) #return [50, 65, 23, 82, 100]
Case Insensitive Sort¶
Secara default metode sort() peka huruf besar-kecil, sehingga semua huruf kapital diurutkan sebelum huruf kecil:
# Case sensitive sorting can give an unexpected result:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort()
print(thislist) #return ['Kiwi', 'Orange', 'banana', 'cherry']
Untungnya, kita bisa menggunakan fungsi bawaan sebagai fungsi kunci saat mengurutkan daftar.
Jadi, jika Anda menginginkan fungsi pengurutan yang tidak peka huruf besar-kecil, gunakan str.lower sebagai fungsi kunci:
#Perform a case-insensitive sort of the list:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort(key = str.lower)
print(thislist) #return ['banana', 'cherry', 'Kiwi', 'Orange']
Reverse Order¶
Bagaimana jika Anda ingin membalik urutan daftar, apa pun alfabetnya?
Metode reverse() membalikkan urutan pengurutan elemen saat ini.
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.reverse()
print(thislist) #return ['cherry', 'Kiwi', 'Orange', 'banana']
Copy Lists¶
Copy a List¶
Anda tidak dapat menyalin daftar hanya dengan mengetik list2 = list1, karena: list2 hanya akan menjadi referensi ke list1, dan perubahan yang dibuat dalam list1 akan secara otomatis juga dibuat di list2.
Use the copy() method¶
thislist = ["apple", "banana", "cherry"]
mylist = thislist.copy()
print(mylist) #return ['apple', 'banana', 'cherry']
Use the list() method¶
Cara lain untuk membuat salinan adalah dengan menggunakan metode bawaan list().
thislist = ["apple", "banana", "cherry"]
mylist = list(thislist)
print(mylist) #return ['apple', 'banana', 'cherry']
Use the slice Operator¶
thislist = ["apple", "banana", "cherry"]
mylist = thislist[:]
print(mylist) #return ['apple', 'banana', 'cherry']
Join Lists¶
Join Two Lists¶
Ada beberapa cara untuk menggabungkan, atau menggabung, dua atau lebih daftar di Python.
Salah satu cara termudah adalah dengan menggunakan operator +.
list1 = ["a", "b", "c"]
list2 = [1, 2, 3]
list3 = list1 + list2
print(list3) #return ['a', 'b', 'c', 1, 2, 3]
Cara lain untuk menggabungkan dua daftar adalah dengan menambahkan semua item dari daftar2 ke daftar1, satu per satu:
list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]
for x in list2:
list1.append(x)
print(list1)
Atau Anda dapat menggunakan metode extend(), yang tujuannya adalah untuk menambahkan elemen dari satu daftar ke daftar lainnya:
list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]
list1.extend(list2)
print(list1) #return ['a', 'b', 'c', 1, 2, 3]
List Methods¶
Python memiliki serangkaian metode bawaan yang dapat Anda gunakan pada daftar.
Method |
Description |
|---|---|
append() |
Adds an element at the end of the list |
clear() |
Removes all the elements from the list |
copy() |
Returns a copy of the list |
count() |
Returns the number of elements with the specified value |
extend() |
Add the elements of a list (or any iterable), to the end of the current list |
index() |
Returns the index of the first element with the specified value |
insert() |
Adds an element at the specified position |
pop() |
Removes the element at the specified position |
remove() |
Removes the item with the specified value |
reverse() |
Reverses the order of the list |
sort() |
Sorts the list |