Điều này sẽ cung cấp cho bạn những gì bạn cần - lấy mẫu danh sách theo định kỳ từ phần bù 0 hoặc 1:
>>> a = ['blah', 3,'haha', 2, 'pointer', 1, 'poop', 'fire'] >>> a[0:][::2] # even ['blah', 'haha', 'pointer', 'poop'] >>> a[1:][::2] # odd [3, 2, 1, 'fire']Lưu ý rằng trong các ví dụ ở trên, thao tác lát cắt đầu tiên (a[1:]) cho thấy việc lựa chọn tất cả các yếu tố từ Chỉ số bắt đầu mong muốn, trong khi thao tác lát cắt thứ hai (a[::2]) trình bày cách chọn mọi mục khác trong danh sách.
Một hoạt động lát cắt thành ngữ và hiệu quả hơn kết hợp hai thành viên thành một, cụ thể là a[::2] (0 có thể được bỏ qua) và
Copied!
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # ✅ get all elements with even index in the list even = my_list[::2] print(even) # 👉️ [0, 2, 4, 6, 8, 10] # ✅ get all elements with odd index in the list odd = my_list[1::2] print(odd) # 👉️ [1, 3, 5, 7, 9] # ---------------------------------------- # ✅ using a for loop even = [] odd = [] for index, item in enumerate(my_list): if index % 2 == 0: even.append(item) else: odd.append(item) print(even) # 👉️ [0, 2, 4, 6, 8, 10] print(odd) # 👉️ [1, 3, 5, 7, 9] 0, tránh được bản sao danh sách không cần thiết và nên được sử dụng trong mã sản xuất, như những người khác đã chỉ ra trong các bình luận.Chia các phần tử chỉ mục chẵn/lẻ thành hai danh sách trong Python #
Sử dụng Danh sách cắt để phân chia các yếu tố chỉ mục chẵn/lẻ thành hai danh sách, ví dụ: Copied! Copied!
Copied!
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # ✅ get all elements with even index in the list even = my_list[::2] print(even) # 👉️ [0, 2, 4, 6, 8, 10] # ✅ get all elements with odd index in the list odd = my_list[1::2] print(odd) # 👉️ [1, 3, 5, 7, 9] # ---------------------------------------- # ✅ using a for loop even = [] odd = [] for index, item in enumerate(my_list): if index % 2 == 0: even.append(item) else: odd.append(item) print(even) # 👉️ [0, 2, 4, 6, 8, 10] print(odd) # 👉️ [1, 3, 5, 7, 9]Chúng tôi đã sử dụng Danh sách cắt để phân chia các yếu tố chỉ số chẵn và lẻ thành hai danh sách.
Cú pháp để cắt danh sách là
Copied!
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # ✅ get all elements with even index in the list even = my_list[::2] print(even) # 👉️ [0, 2, 4, 6, 8, 10] # ✅ get all elements with odd index in the list odd = my_list[1::2] print(odd) # 👉️ [1, 3, 5, 7, 9] # ---------------------------------------- # ✅ using a for loop even = [] odd = [] for index, item in enumerate(my_list): if index % 2 == 0: even.append(item) else: odd.append(item) print(even) # 👉️ [0, 2, 4, 6, 8, 10] print(odd) # 👉️ [1, 3, 5, 7, 9] 3.Chỉ số
Copied!
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # ✅ get all elements with even index in the list even = my_list[::2] print(even) # 👉️ [0, 2, 4, 6, 8, 10] # ✅ get all elements with odd index in the list odd = my_list[1::2] print(odd) # 👉️ [1, 3, 5, 7, 9] # ---------------------------------------- # ✅ using a for loop even = [] odd = [] for index, item in enumerate(my_list): if index % 2 == 0: even.append(item) else: odd.append(item) print(even) # 👉️ [0, 2, 4, 6, 8, 10] print(odd) # 👉️ [1, 3, 5, 7, 9] 4 bao gồm và chỉ sốCopied!
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # ✅ get all elements with even index in the list even = my_list[::2] print(even) # 👉️ [0, 2, 4, 6, 8, 10] # ✅ get all elements with odd index in the list odd = my_list[1::2] print(odd) # 👉️ [1, 3, 5, 7, 9] # ---------------------------------------- # ✅ using a for loop even = [] odd = [] for index, item in enumerate(my_list): if index % 2 == 0: even.append(item) else: odd.append(item) print(even) # 👉️ [0, 2, 4, 6, 8, 10] print(odd) # 👉️ [1, 3, 5, 7, 9] 5 là độc quyền (lên đến, nhưng không bao gồm).Các chỉ mục Python không dựa trên 0, vì vậy mục đầu tiên trong danh sách có chỉ mục là 0 và mục cuối cùng có chỉ mục là Copied! Copied!
Slice
Copied!
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # ✅ get all elements with even index in the list even = my_list[::2] print(even) # 👉️ [0, 2, 4, 6, 8, 10] # ✅ get all elements with odd index in the list odd = my_list[1::2] print(odd) # 👉️ [1, 3, 5, 7, 9] # ---------------------------------------- # ✅ using a for loop even = [] odd = [] for index, item in enumerate(my_list): if index % 2 == 0: even.append(item) else: odd.append(item) print(even) # 👉️ [0, 2, 4, 6, 8, 10] print(odd) # 👉️ [1, 3, 5, 7, 9] 9 có được các yếu tố chỉ số chẵn của danh sách ban đầu.Copied!
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] even = my_list[::2] print(even) # 👉️ [0, 2, 4, 6, 8, 10]Các chỉ mục
Copied!
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # ✅ get all elements with even index in the list even = my_list[::2] print(even) # 👉️ [0, 2, 4, 6, 8, 10] # ✅ get all elements with odd index in the list odd = my_list[1::2] print(odd) # 👉️ [1, 3, 5, 7, 9] # ---------------------------------------- # ✅ using a for loop even = [] odd = [] for index, item in enumerate(my_list): if index % 2 == 0: even.append(item) else: odd.append(item) print(even) # 👉️ [0, 2, 4, 6, 8, 10] print(odd) # 👉️ [1, 3, 5, 7, 9] 4 vàCopied!
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] even = my_list[::2] print(even) # 👉️ [0, 2, 4, 6, 8, 10] 1 bị bỏ qua, do đó, lát cắt bắt đầu tại Index 0 và đi đến cuối danh sách.Giá trị Copied!
Copied!
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] even = my_list[::2] print(even) # 👉️ [0, 2, 4, 6, 8, 10] 4, do đó, lát cắt chọn mọi phần tử thứ hai, bắt đầu tại INDEX 0.Bạn có thể sử dụng cùng một cách tiếp cận để chỉ có được các yếu tố có chỉ mục lẻ của danh sách.
Copied!
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] odd = my_list[1::2] print(odd) # 👉️ [1, 3, 5, 7, 9]Thay vì bắt đầu tại INDEX 0, lát cắt bắt đầu tại INDEX
Copied!
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] even = my_list[::2] print(even) # 👉️ [0, 2, 4, 6, 8, 10] 7 và chọn từng phần tử thứ hai.Chỉ số
Copied!
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # ✅ get all elements with even index in the list even = my_list[::2] print(even) # 👉️ [0, 2, 4, 6, 8, 10] # ✅ get all elements with odd index in the list odd = my_list[1::2] print(odd) # 👉️ [1, 3, 5, 7, 9] # ---------------------------------------- # ✅ using a for loop even = [] odd = [] for index, item in enumerate(my_list): if index % 2 == 0: even.append(item) else: odd.append(item) print(even) # 👉️ [0, 2, 4, 6, 8, 10] print(odd) # 👉️ [1, 3, 5, 7, 9] 5 bị bỏ qua, do đó, lát cắt chọn các phần tử lẻ của toàn bộ danh sách.Ngoài ra, bạn có thể sử dụng vòng lặp
Copied!
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] even = my_list[::2] print(even) # 👉️ [0, 2, 4, 6, 8, 10] 9.Để chia các yếu tố chỉ số chẵn và lẻ thành hai danh sách:
- Khai báo các biến
Copied!
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] odd = my_list[1::2] print(odd) # 👉️ [1, 3, 5, 7, 9] 0 vàCopied!
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] odd = my_list[1::2] print(odd) # 👉️ [1, 3, 5, 7, 9] 1 và đặt chúng thành danh sách trống. - Lặp lại trong danh sách ban đầu.
- Đẩy các yếu tố chỉ mục thậm chí vào danh sách
Copied!
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] odd = my_list[1::2] print(odd) # 👉️ [1, 3, 5, 7, 9] 0 và các phần tử chỉ mụcCopied!
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] odd = my_list[1::2] print(odd) # 👉️ [1, 3, 5, 7, 9] 1 vào danh sáchCopied!
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] odd = my_list[1::2] print(odd) # 👉️ [1, 3, 5, 7, 9] 1.
Copied!
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] even = [] odd = [] for index, item in enumerate(my_list): if index % 2 == 0: even.append(item) else: odd.append(item) print(even) # 👉️ [0, 2, 4, 6, 8, 10] print(odd) # 👉️ [1, 3, 5, 7, 9]Hàm liệt kê có thể lặp lại và trả về một đối tượng liệt kê chứa các bộ dữ liệu trong đó phần tử thứ nhất là chỉ mục và thứ hai là mục.
Trên mỗi lần lặp, chúng tôi sử dụng toán tử modulo để kiểm tra xem chỉ mục hiện tại có chẵn hay lẻ không.
Toán tử modulo (%) trả về phần còn lại từ sự phân chia giá trị thứ nhất cho phần thứ hai.
Copied!
print(10 % 2) # 👉️ 0 print(10 % 4) # 👉️ 2Bước cuối cùng là nối các chỉ mục chẵn vào danh sách
Copied!
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] odd = my_list[1::2] print(odd) # 👉️ [1, 3, 5, 7, 9] 0 và các chỉ mục lẻ vào danh sáchCopied!
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] odd = my_list[1::2] print(odd) # 👉️ [1, 3, 5, 7, 9] 1.