Sometimes, while working with Python lists, we can have a problem in which we need to remove all the negative elements from list. This kind of problem can have application in many domains such as school programming and web development. Let’s discuss certain ways in which this task can be performed.
Input : test_list = [6, 4, 3] Output : [6, 4, 3] Input : test_list = [-6, -4] Output : []
Method #1 : Using list comprehension The combination of above functions can be used to solve this problem. In this, we perform the task of removing negative elements by iteration in one liner using list comprehension
Python3
test_list
=
[
5
,
6
,
-
3
,
-
8
,
9
,
11
,
-
12
,
2
]
print
("The original
list
is
: "
+
str
(test_list))
res
=
[ele
for
ele
in
test_list
if
ele >
0
]
print
("
List
after filtering : "
+
str
(res))
Output :
The original list is : [5, 6, -3, -8, 9, 11, -12, 2]
List after filtering : [5, 6, 9, 11, 2]
Method #2 : Using filter() + lambda The combination of above functions can also offer an alternative to this problem. In this, we extend logic of retaining positive formed using lambda function
and extended using filter().
Python3
test_list
=
[
5
,
6
,
-
3
,
-
8
,
9
,
11
,
-
12
,
2
]
print
("The original
list
is
: "
+
str
(test_list))
res
=
list
(
filter
(
lambda
x : x >
0
, test_list))
print
("
List
after filtering : "
+
str
(res))
Output :
The original list is : [5, 6, -3, -8, 9, 11, -12, 2]
List after filtering : [5, 6, 9, 11, 2]
Method #3: Using list(),map(),startswith() methods
Python3
test_list
=
[
5
,
6
,
-
3
,
-
8
,
9
,
11
,
-
12
,
2
,
0
]
print
(
"The original list is : "
+
str
(test_list))
x
=
list
(
map
(
str
,test_list))
res
=
[]
for
i
in
range
(
0
,
len
(x)):
if
(
not
x[i].startswith(
"-"
)
and
x[i]!
=
"0"
):
res.append(test_list[i])
print
(
"List after filtering : "
+
str
(res))
Output
The original list is : [5, 6, -3, -8, 9, 11, -12, 2]
List after filtering : [5, 6, 9, 11, 2]
List adalah struktur data paling dasar dalam python. Bentuk dari list berupa kumpulan data yang anggotanya (nilainya) dapat diubah.
Indeks pertama pada list
dimulai dari nol (0), indeks kedua nya itu satu (1) dan seterusnya.
Membuat List
List didefinisikan dengan kurung siku ([]
) atau dengan keyword list()
.
# Mendefinisikan List
mobil = ["Ferari", "Ducaty", "Honda"]
datadiri = ["Desi","Familia", 20, 1999]
# Dengan keyword list
motor = list(("Harley", "Honda", "Vespa"))
Pada saat menggunakan keyword list
pastikan menggunakan 2
kurung (())
.
Mengakses Anggota List
Setiap anggota atau elemen pada list dapat diakses menggunakan indeks anggota tersebut.
# List
makanan = ["Tahu", "Tempe", "Sayur"]
minuman = ["Float", "Kopi", "Teh", "Air", "Smothy", "Alkohol"]
# Akses Range
print(makanan[0]) # Output : "Tahu"
print(minuman[1:3]) # Output : "Kopi", "Teh", "Air",
print(makanan[-1]) # Output : "Sayur"
Pada kode diatas terdapat index [1:3]
, hal ini disebut Range of Index. Ia akan mengambil anggota dari indeks 1
sampai indeks 3
.
Dan juga terdapat index [-1]
disebut juga Negative Indexing.
Index tersebut bertujuan untuk mengambil anggota pertama dari urutan terakhir.
Mengubah Nilai Anggota List
Kamu dapat mengubah nilai pada setiap anggota pada list dengan mengakses indeks anggota tersebut.
# List
pelajaran = ["Matematika", "Fisika", "Kimia", "Poltergeis"]
print("Pelajaran Indeks ke 2 - " + pelajaran[1])
pelajaran[1] = "Filsafat"
print("Pelajaran Indeks ke 2 - " + pelajaran[1])
# INGAT : Indeks pertama dimulai dari 0
Menambah Anggota List
Untuk menambah anggota pada list terdapat 2 cara :
- Jika kita tahu indeks yang tidak ada pada
list,Tinggal definisikan saja indeks tersebut.
- Tetapi, jika hanya ingin menambahkan anggota tanpa harus mengetahui indeks secara spesifik, gunakan method
append()
atau insert()
.
buah = ["Anggur", "Nanas"]
# Mendefinisikan indeks baru yang tidak ada di list
buah[3] = "Ceri"
print(buah) # ["Anggur", "Nanas", "Ceri"]
# Menambah dengan method Append dan Reppend
buah.append("Semangka")
buah.insert(0, "Apel")
print(buah) # Output : ["Apel", "Anggur", "Nanas", "Ceri", "Semangka"]
Perbedaan antara append()
dan insert()
adalah :
append()
menambah anggota dari belakang atau setelah anggota terakhir.insert()
menyisipkan anggota sesuai indeks yang diinginkan. 0
adalah indeks, dan “Apel” adalah objek.
Menghapus Anggota List
Anggota pada list juga dapat dihapus. Untuk menghapus anggota pada list terdapat 2 cara :
- Ketika kita tahu indeks dari anggota tersebut gunakan keyword
del
. - Tetapi, jika yang kita tahu adalah nilai dari anggota tersebut, gunakan method
remove()
.
serangga = ["Belalang", "Katak", "Kecoak", "Mantan"]
# Menghapus menggunakan indeks
del serangga[1]
print(serangga) # Output : ["Belalang", "Kecoak", "Mantan"]
# Menghapus menggunakan nilai
serangga.remove("Mantan")
print(serangga) # Output : ["Belalang", "Kecoak"]
Operasi Pada List
Dalam python list juga dapat dioperasikan, akan tetapi operator yang mendukung
untuk operasi pada list hanya :
- Penambahan (
+
) - Pengalian (
-
)
kita = ["Kamu","Aku"] + ["Dia"]
print(kita) # Output : ['Kamu', 'Aku', 'Dia']
bunshin = ["Naruto"] * 4
print(bunshin) # Output : ['Naruto', 'Naruto', 'Naruto', 'Naruto']
List merespon operasi umum sama seperti string, seperti yang dicontohkan di bab String.
Operasi Pada Anggota List
Anggota pada list juga dapat dioperasikan
layaknya string, Operasi yang sering dipakai adalah :
- Menghitung jumlah anggota list menggunakan fungsi
len
. - Mengiterasi anggota list menggunakan keyword
for
. - Mengecek anggota list menggunakan operator
in
.
Ketiga operasi diatas adalah hal paling umum dijumpai. Dan berikut contoh kodenya.
warna = ["Merah", "Kuning" ,"Hijau", "Ungu"]
# Menghitung List
print(len(warna)) # Output : 4
# Mengiterasi List
for x in warna:
print(x)
# Mengecek List
if "Kuning" in warna:
print("Kuning ada di list warna")
Built-in Function Pada List
Terdapat
beberapa function yang built-in pada python untuk memudahkan kita dalam mengolah list. Seperti :
len()
-> Untuk menghitung jumlah anggota list.max()
-> untuk mengetahui anggota dengan nilai tertinggi pada list.min()
-> untuk mengetahui anggota dengan nilai terendah pada list.list()
-> untuk mengubah segala jenis Sequence kedalam list.
angka = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(len(angka)) # Output : 9
print(max(angka)) # Output : 9
print(min(angka)) # Output : 1
print(list(angka)) # Output : [1, 2, 3, 4, 5, 6, 7, 8, 9]
Method Pada List
Berikut beberapa method yang berguna.
Name | Penjelasan | Penggunaan |
---|
Append
| Menambah anggota baru.
| list.append(x)
|
Count
| Menghitung ada berapa anggota pada list yang sesuai dengan parameter.
| list.count(x)
|
Extend
| Menambah anggota Sequence ke dalam list.
| list.extend(seq)
|
Index
| Mencari index terendah yang sesuai dengan parameter.
| list.index(x)
|
Insert
| Menyisipkan anggota sesuai index yang diberikan.
| list.insert(index, x)
|
Pop
| Menghapus serta mengembalikan anggota yang sesuai parameter atau anggota terakhir.
| list.pop(x)
|
Remove
| Menghapus anggota sesuai dengan parameter
| list.remove(x)
|
Sort
| Mengurutkan list
| list.sort()
|