Khả năng hiểu danh sách được sử dụng để thực hiện một số thao tác cho mọi phần tử hoặc chọn một tập hợp con các phần tử đáp ứng một điều kiện
Trên mỗi lần lặp, chúng tôi nhân mục danh sách hiện tại với số đã chỉ định và trả về kết quả
Ngoài ra, bạn có thể sử dụng vòng lặp >>> t = [‘farm’] >>> t += ‘EIEIO’ >>> t ['farm', 'E', 'I', 'E', 'I', 'O']3 đơn giản
Nhân từng phần tử trong danh sách với một số bằng vòng lặp >>> t = [‘farm’] >>> t += ‘EIEIO’ >>> t ['farm', 'E', 'I', 'E', 'I', 'O']3
Để nhân mỗi phần tử trong một danh sách với một số
- Khai báo một biến mới lưu danh sách rỗng
- Sử dụng vòng lặp >>> t = [‘farm’] >>> t += ‘EIEIO’ >>> t ['farm', 'E', 'I', 'E', 'I', 'O']3 để lặp lại danh sách ban đầu
- Trên mỗi lần lặp, nhân mục danh sách hiện tại với số
- Nối kết quả vào danh sách mới
my_list = [2, 4, 6] result = [] for item in my_list: result.append(item * 10) print(result)
Vòng lặp >>> t = [‘farm’] >>> t += ‘EIEIO’ >>> t ['farm', 'E', 'I', 'E', 'I', 'O']3 hoạt động theo cách rất giống với cách hiểu danh sách, nhưng thay vì trực tiếp trả lại các mục trong danh sách, chúng tôi sẽ thêm chúng vào một danh sách mới
Bạn cũng có thể sử dụng hàm >>> t = [‘farm’] >>> t += ‘EIEIO’ >>> t ['farm', 'E', 'I', 'E', 'I', 'O']7 để nhân từng phần tử trong danh sách
Hàm nhận một hàm và một iterable làm đối số và gọi hàm với mỗi mục của iterable
Hàm lambda mà chúng ta đã chuyển đến >>> t = [‘farm’] >>> t += ‘EIEIO’ >>> t ['farm', 'E', 'I', 'E', 'I', 'O']8 được gọi với từng mục trong danh sách, nhân mục đó với >>> t = [‘farm’] >>> t += ‘EIEIO’ >>> t ['farm', 'E', 'I', 'E', 'I', 'O']9 và trả về kết quả
Bước cuối cùng là sử dụng lớp >>>t += [‘EIEIO’] >>>t ['farm', 'E', 'I', 'E', 'I', 'O', ‘EIEIO’]0 để chuyển đổi đối tượng >>> t = [‘farm’] >>> t += ‘EIEIO’ >>> t ['farm', 'E', 'I', 'E', 'I', 'O']8 thành đối tượng >>> t = [‘farm’] >>> t += ‘EIEIO’ >>> t ['farm', 'E', 'I', 'E', 'I', 'O']91
Nếu bạn làm việc với mảng có nhiều mảng, bạn có thể trực tiếp sử dụng toán tử nhân trên mảng để nhân từng phần tử của nó với một số
Nhân một mảng có nhiều mảng với một số sẽ nhân hiệu quả từng phần tử trong mảng với số đã chỉ định
Lưu ý rằng điều này chỉ hoạt động với các mảng có nhiều mảng. Nếu bạn nhân danh sách python với một số, nó sẽ được lặp lại N lần
Nhân một danh sách Python với N trả về một danh sách mới chứa các phần tử của danh sách ban đầu được lặp lại N lần
Nếu bạn cần nhân tất cả các phần tử trong danh sách, hãy sử dụng hàm >>> t = [‘farm’] >>> t += ‘EIEIO’ >>> t ['farm', 'E', 'I', 'E', 'I', 'O']92
Nhân tất cả các phần tử trong Danh sách bằng Python
Sử dụng phương thức >>> t = [‘farm’] >>> t += ‘EIEIO’ >>> t ['farm', 'E', 'I', 'E', 'I', 'O']92 để nhân tất cả các phần tử trong danh sách, e. g. >>> t = [‘farm’] >>> t += ‘EIEIO’ >>> t ['farm', 'E', 'I', 'E', 'I', 'O']94. Phương thức >>> t = [‘farm’] >>> t += ‘EIEIO’ >>> t ['farm', 'E', 'I', 'E', 'I', 'O']92 tính tích của tất cả các phần tử trong hàm lặp được cung cấp
Đảm bảo nhập mô-đun >>> t = [‘farm’] >>> t += ‘EIEIO’ >>> t ['farm', 'E', 'I', 'E', 'I', 'O']96 ở trên cùng
Chúng tôi đã sử dụng phương pháp >>> t = [‘farm’] >>> t += ‘EIEIO’ >>> t ['farm', 'E', 'I', 'E', 'I', 'O']97 để nhân tất cả các phần tử trong danh sách
Phương thức tính tích của tất cả các phần tử trong iterable được cung cấp
Phương thức nhận 2 đối số sau
NameDescriptioniteterableMột iterable có các phần tử để tính tích củastartGiá trị bắt đầu cho sản phẩm (mặc định là >>> t = [‘farm’] >>> t += ‘EIEIO’ >>> t ['farm', 'E', 'I', 'E', 'I', 'O']98)Nếu iterable trống, giá trị >>> t = [‘farm’] >>> t += ‘EIEIO’ >>> t ['farm', 'E', 'I', 'E', 'I', 'O']99 được trả về
Ngoài ra, bạn có thể sử dụng hàm >>> t = [‘farm’] >>> t += ‘EIEIO’ >>> t ['farm', 'E', 'I', 'E', 'I', 'O']30
Nhân tất cả các phần tử trong Danh sách bằng cách sử dụng >>> t = [‘farm’] >>> t += ‘EIEIO’ >>> t ['farm', 'E', 'I', 'E', 'I', 'O']30
Để nhân tất cả các phần tử trong một danh sách
- Truyền hàm lambda và danh sách cho hàm >>> t = [‘farm’] >>> t += ‘EIEIO’ >>> t ['farm', 'E', 'I', 'E', 'I', 'O']30
- Hàm lambda sẽ lấy bộ tích lũy và giá trị hiện tại và sẽ trả về phép nhân của hai
Hàm nhận 3 tham số sau
NameDescripfunctionMột hàm nhận 2 tham số - giá trị tích lũy và giá trị từ iterable. iterableMỗi phần tử trong iterable sẽ được chuyển thành đối số cho hàm. bộ khởi tạoMột giá trị bộ khởi tạo tùy chọn được đặt trước các mục của phép lặp trong phép tínhHàm lambda được gọi với giá trị tích lũy và giá trị của lần lặp hiện tại và nhân chúng
Nếu chúng tôi cung cấp một giá trị cho đối số >>> t = [‘farm’] >>> t += ‘EIEIO’ >>> t ['farm', 'E', 'I', 'E', 'I', 'O']33, nó sẽ được đặt trước các mục của iterable trong phép tính
Chúng tôi đã thông qua >>> t = [‘farm’] >>> t += ‘EIEIO’ >>> t ['farm', 'E', 'I', 'E', 'I', 'O']9 cho đối số trình khởi tạo, vì vậy giá trị của >>> t = [‘farm’] >>> t += ‘EIEIO’ >>> t ['farm', 'E', 'I', 'E', 'I', 'O']35 sẽ là >>> t = [‘farm’] >>> t += ‘EIEIO’ >>> t ['farm', 'E', 'I', 'E', 'I', 'O']9 trong lần lặp đầu tiên
Giá trị của >>> t = [‘farm’] >>> t += ‘EIEIO’ >>> t ['farm', 'E', 'I', 'E', 'I', 'O']35 sẽ được đặt thành phần tử đầu tiên trong iterable nếu chúng ta không chuyển giá trị cho >>> t = [‘farm’] >>> t += ‘EIEIO’ >>> t ['farm', 'E', 'I', 'E', 'I', 'O']33
Nếu >>> t = [‘farm’] >>> t += ‘EIEIO’ >>> t ['farm', 'E', 'I', 'E', 'I', 'O']39 trống và >>> t = [‘farm’] >>> t += ‘EIEIO’ >>> t ['farm', 'E', 'I', 'E', 'I', 'O']33 được cung cấp, thì >>> t = [‘farm’] >>> t += ‘EIEIO’ >>> t ['farm', 'E', 'I', 'E', 'I', 'O']33 được trả về
Nếu >>> t = [‘farm’] >>> t += ‘EIEIO’ >>> t ['farm', 'E', 'I', 'E', 'I', 'O']33 không được cung cấp và iterable chỉ chứa mục >>> t = [‘farm’] >>> t += ‘EIEIO’ >>> t ['farm', 'E', 'I', 'E', 'I', 'O']98, thì mục đầu tiên được trả về
Danh sách và chuỗi có nhiều điểm chung. Cả hai đều có trình tự và giống như trăn, chúng dài ra khi bạn cho chúng ăn. Giống như một chuỗi, chúng ta có thể nối và nhân danh sách Python
Nối và nhân danh sách Python
Old MacDonald có một trang trại, E-I-E-I-O. Và trong trang trại này có một con trăn, E-I-E-I-O. Tại dấu nhắc, hãy tạo một danh sách Python với một mục, 'farm'
>>> t = [‘farm’] >>> t += ‘EIEIO’ >>> t ['farm', 'E', 'I', 'E', 'I', 'O']
Đó không phải là những gì chúng tôi muốn. Chuỗi của chúng tôi, EIEIO, được chia thành các mục riêng lẻ và sau đó được thêm vào danh sách của chúng tôi. Tại sao? . Vậy làm thế nào để bạn thêm chuỗi vào danh sách Python?
>>>t += [‘EIEIO’] >>>t ['farm', 'E', 'I', 'E', 'I', 'O', ‘EIEIO’]
Thử thêm một số vào danh sách…
>>>t += 128 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'int' object is not iterable</module></stdin>
Làm cách nào để thêm số nguyên vào danh sách?
>>>t += [128]
Cuối cùng, bạn nghĩ điều gì sẽ xảy ra khi bạn chạy cái này?
>>>t += ‘128’
Chúng tôi cũng có thể thực hiện phép nhân trên toàn bộ danh sách hoặc các mục riêng lẻ trong danh sách theo chỉ mục
Ví dụ
>>>t*2 >>>t
E-I-E-I-O
Và theo chỉ số
>>>t[1]*4
eeeee. Thật thú vị
________số 8
Bạn thắng. Thời gian cho món tráng miệng
Cắt một danh sách Python
Chăm sóc cho một vết cắn của con nhím? . Nó ngon. Một nhóm nhím được gọi là một mảng. Hãy tạo một danh sách có tên là 'mảng' và thêm vào đó những con nhím
array = [‘Plato’, ‘Lucretius’, ‘Dante’, ‘Hegel’, ‘Dostoevsky’, ‘Nietzsche’, ‘Ibsen’, ‘Proust’, ‘Braudel’]
Sử dụng một chỉ mục, chúng ta có thể dễ dàng xem mục đầu tiên là gì
>>> t = [‘farm’] >>> t += ‘EIEIO’ >>> t ['farm', 'E', 'I', 'E', 'I', 'O']0
Nhưng nếu chúng ta muốn mọi thứ trừ mục đầu tiên thì sao?
>>>t += [‘EIEIO’] >>>t ['farm', 'E', 'I', 'E', 'I', 'O', ‘EIEIO’]0
Và nếu chúng ta chỉ muốn ở giữa?
>>>t += [‘EIEIO’] >>>t ['farm', 'E', 'I', 'E', 'I', 'O', ‘EIEIO’]1
Xóa các mục khỏi danh sách Python
Bởi vì mảng của chúng tôi có nhiều con nhím gai góc và khó chịu, gai của chúng chọc tức lẫn nhau. Vì vậy chúng tôi cần thanh lý một số mặt hàng