การเขียน Python Code ที่มีประสิทธิภาพ
Logan Thomas
Scientific Software Technical Trainer, Enthought
list, tuple, set, dict และอื่น ๆprint(), len(), range(), round(), enumerate(), map(), zip() และอื่น ๆos, sys, itertools, collections, math และอื่น ๆการพิมพ์รายการตัวเลขโดยตรง
nums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
ใช้ range() เพื่อสร้างลิสต์เดียวกัน
# 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]
ใช้ range() กับค่า step
even_nums = range(2, 11, 2)
even_nums_list = list(even_nums)
print(even_nums_list)
[2, 4, 6, 8, 10]
สร้างลิสต์ของออบเจ็กต์พร้อม index
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')]
กำหนดค่าเริ่มต้นได้
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')]
นำฟังก์ชันไปใช้กับออบเจ็กต์
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() กับ lambda (ฟังก์ชันนิรนาม)
nums = [1, 2, 3, 4, 5]
sqrd_nums = map(lambda x: x ** 2, nums)
print(list(sqrd_nums))
[1, 4, 9, 16, 25]
การเขียน Python Code ที่มีประสิทธิภาพ