Tôi có một danh sách
a = [49, 51, 53, 56]
Làm cách nào để trừ 13 cho mỗi giá trị số nguyên trong danh sách?
Câu trả lời:
Với một danh sách dễ hiểu :
a = [x - 13 for x in a]
a[:]trên lhs thay vì chỉ gán lại cho a? Không a[:]tạo một bản sao của danh sách?
a = [x - 13 for x in a]sẽ hoạt động tốt và ít gây nhầm lẫn hơn.
Nếu bạn đang làm việc với các con số nhiều, bạn có thể muốn xem qua NumPy . Nó cho phép bạn thực hiện tất cả các loại hoạt động trực tiếp trên các mảng số. Ví dụ:
>>> import numpy
>>> array = numpy.array([49, 51, 53, 56])
>>> array - 13
array([36, 38, 40, 43])
Điều này sẽ hoạt động:
for i in range(len(a)):
a[i] -= 13
i) lặp qua tất cả các giá trị chỉ mục có thể. Biến chỉ mục này là cần thiết để thay đổi từng phần tử trong danh sách.
def minus13(a):dòng trên và thụt lề một cấp.