Menulis Kode Python yang Efisien
Logan Thomas
Scientific Software Technical Trainer, Enthought
list, tuple, set, dict, dan lainnyaprint(), len(), range(), round(), enumerate(), map(), zip(), dan lainnyaos, sys, itertools, collections, math, dan lainnyaMengetik eksplisit daftar angka
nums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Menggunakan range() untuk membuat daftar yang sama
# range(start,stop)
nums = range(0,11)
nums_list = list(nums)
print(nums_list)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# range(stop)
nums = range(11)
nums_list = list(nums)
print(nums_list)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Menggunakan range() dengan langkah
even_nums = range(2, 11, 2)
even_nums_list = list(even_nums)
print(even_nums_list)
[2, 4, 6, 8, 10]
Membuat daftar berindeks dari objek
letters = ['a', 'b', 'c', 'd' ]
indexed_letters = enumerate(letters)
indexed_letters_list = list(indexed_letters)
print(indexed_letters_list)
[(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd')]
Dapat menentukan nilai awal
letters = ['a', 'b', 'c', 'd' ]
indexed_letters2 = enumerate(letters, start=5)
indexed_letters2_list = list(indexed_letters2)
print(indexed_letters2_list)
[(5, 'a'), (6, 'b'), (7, 'c'), (8, 'd')]
Menerapkan fungsi pada sebuah objek
nums = [1.5, 2.3, 3.4, 4.6, 5.0]
rnd_nums = map(round, nums)
print(list(rnd_nums))
[2, 2, 3, 5, 5]
map() dengan lambda (fungsi anonim)
nums = [1, 2, 3, 4, 5]
sqrd_nums = map(lambda x: x ** 2, nums)
print(list(sqrd_nums))
[1, 4, 9, 16, 25]
Menulis Kode Python yang Efisien