Cara menggunakan python disable negative index

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 :

  1. Jika kita tahu indeks yang tidak ada pada list,Tinggal definisikan saja indeks tersebut.
  2. 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 :

  1. Ketika kita tahu indeks dari anggota tersebut gunakan keyword del.
  2. 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.

NamePenjelasanPenggunaan
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()