Viết mã Python hiệu quả
Logan Thomas
Scientific Software Technical Trainer, Enthought
list, tuple, set, dict, và khácprint(), len(), range(), round(), enumerate(), map(), zip(), và khácos, sys, itertools, collections, math, và khácGõ tường minh một danh sách số
nums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Dùng range() để tạo cùng danh sách
# 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]
Dùng range() với bước nhảy
even_nums = range(2, 11, 2)
even_nums_list = list(even_nums)
print(even_nums_list)
[2, 4, 6, 8, 10]
Tạo danh sách có chỉ số cho đối tượng
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')]
Có thể chỉ định giá trị bắt đầu
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')]
Áp dụng một hàm lên một đối tượng
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() với lambda (hàm ẩn danh)
nums = [1, 2, 3, 4, 5]
sqrd_nums = map(lambda x: x ** 2, nums)
print(list(sqrd_nums))
[1, 4, 9, 16, 25]
Viết mã Python hiệu quả