Cách tách chỉ mục chẵn và lẻ trong python

Viết chương trình Python để kiểm tra xem mỗi chỉ số chẵn có chứa số chẵn và mỗi chỉ số lẻ có chứa số lẻ của một danh sách đã cho hay không

Giải pháp mẫu

Mã Python

def odd_even_position[nums]:
           return all[nums[i]%2==i%2 for i in range[len[nums]]]
nums = [2, 1, 4, 3, 6, 7, 6, 3]
print["Original list of numbers:", nums]
print["Check whether every even index contains an even number and every \nodd index contains odd number of a given list:"]
print[odd_even_position[nums]]
nums = [2, 1, 4, 3, 6, 7, 6, 4]
print["\nOriginal list of numbers:", nums]
print["Check whether every even index contains an even number and every \nodd index contains odd number of a given list:"]
print[odd_even_position[nums]]
print["\nOriginal list of numbers:", nums]
nums = [4, 1, 2]
print["Check whether every even index contains an even number and every \nodd index contains odd number of a given list:"]
print[odd_even_position[nums]]

Đầu ra mẫu

Original list of numbers: [2, 1, 4, 3, 6, 7, 6, 3]
Check whether every even index contains an even number and every 
odd index contains odd number of a given list:
True

Original list of numbers: [2, 1, 4, 3, 6, 7, 6, 4]
Check whether every even index contains an even number and every 
odd index contains odd number of a given list:
False

Original list of numbers: [2, 1, 4, 3, 6, 7, 6, 4]
Check whether every even index contains an even number and every 
odd index contains odd number of a given list:
True

Trình bày bằng hình ảnh



Sơ đồ


Trình chỉnh sửa mã Python

Có một cách khác để giải quyết giải pháp này?

Trước. Viết chương trình Python để tìm tích lớn nhất của cặp phần tử liền kề từ một danh sách các số nguyên đã cho.
Tiếp theo. Viết chương trình Python để kiểm tra xem một số đã cho có phải là số tự đại hay không.

Mức độ khó của bài tập này là gì?

Dễ dàng trung bình khó

Kiểm tra kỹ năng Lập trình của bạn với bài kiểm tra của w3resource



con trăn. Lời khuyên trong ngày

N lớn nhất & N nhỏ nhất

Đôi khi các hàm tối đa và tối thiểu có thể không cắt được cho bạn khi bạn cần nhiều giá trị tối đa hoặc nhiều giá trị tối thiểu từ một tập hợp giá trị

Kiểm tra thư viện heapq giúp nhận n giá trị lớn nhất hoặc n giá trị nhỏ nhất dễ dàng hơn nhiều so với các kỹ thuật thông thường

Phần danh sách đầu tiên sẽ chỉ chứa các phần tử có chỉ số chẵn và phần thứ hai chứa các phần tử có chỉ số lẻ

Chúng tôi đã sử dụng cắt danh sách để chỉ lấy các phần tử chỉ mục chẵn của danh sách

Cú pháp để cắt danh sách là my_list[start:stop:step]

Chỉ số start là bao gồm và chỉ số stop là độc quyền [tối đa, nhưng không bao gồm]

Các chỉ mục Python dựa trên số không, 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à -1 hoặc len[my_list] - 1

Slice my_list[::2] lấy các phần tử chỉ số chẵn của danh sách ban đầu

Các chỉ mục start

Original list of numbers: [2, 1, 4, 3, 6, 7, 6, 3]
Check whether every even index contains an even number and every 
odd index contains odd number of a given list:
True

Original list of numbers: [2, 1, 4, 3, 6, 7, 6, 4]
Check whether every even index contains an even number and every 
odd index contains odd number of a given list:
False

Original list of numbers: [2, 1, 4, 3, 6, 7, 6, 4]
Check whether every even index contains an even number and every 
odd index contains odd number of a given list:
True
00 bị bỏ qua, vì vậy lát cắt bắt đầu từ chỉ mục 0 và đi đến cuối danh sách

Giá trị

Original list of numbers: [2, 1, 4, 3, 6, 7, 6, 3]
Check whether every even index contains an even number and every 
odd index contains odd number of a given list:
True

Original list of numbers: [2, 1, 4, 3, 6, 7, 6, 4]
Check whether every even index contains an even number and every 
odd index contains odd number of a given list:
False

Original list of numbers: [2, 1, 4, 3, 6, 7, 6, 4]
Check whether every even index contains an even number and every 
odd index contains odd number of a given list:
True
02 được đặt thành
Original list of numbers: [2, 1, 4, 3, 6, 7, 6, 3]
Check whether every even index contains an even number and every 
odd index contains odd number of a given list:
True

Original list of numbers: [2, 1, 4, 3, 6, 7, 6, 4]
Check whether every even index contains an even number and every 
odd index contains odd number of a given list:
False

Original list of numbers: [2, 1, 4, 3, 6, 7, 6, 4]
Check whether every even index contains an even number and every 
odd index contains odd number of a given list:
True
03, do đó, lát cắt chọn mọi phần tử thứ hai, bắt đầu từ chỉ mục 0

Bạn có thể sử dụng phương pháp tương tự để chỉ lấy các phần tử có chỉ số lẻ của danh sách

Thay vì bắt đầu từ chỉ mục 0, lát cắt bắt đầu từ chỉ mục

Original list of numbers: [2, 1, 4, 3, 6, 7, 6, 3]
Check whether every even index contains an even number and every 
odd index contains odd number of a given list:
True

Original list of numbers: [2, 1, 4, 3, 6, 7, 6, 4]
Check whether every even index contains an even number and every 
odd index contains odd number of a given list:
False

Original list of numbers: [2, 1, 4, 3, 6, 7, 6, 4]
Check whether every even index contains an even number and every 
odd index contains odd number of a given list:
True
06 và chọn mọi phần tử thứ hai

Chỉ số stop bị bỏ qua nên slice chọn các phần tử lẻ của toàn bộ danh sách

Nếu bạn cần lấy mọi phần tử thứ N của danh sách, hãy chỉ định giá trị cho chỉ mục start

Ví dụ chọn mọi phần tử thứ hai của danh sách bắt đầu từ phần tử thứ hai

Nếu bạn cần lấy các phần tử có chỉ mục chẵn của danh sách, bắt đầu từ một chỉ mục cụ thể, hãy đặt giá trị cho chỉ mục start

Danh sách mới bao gồm các phần tử chẵn của danh sách ban đầu bắt đầu từ chỉ số

Original list of numbers: [2, 1, 4, 3, 6, 7, 6, 3]
Check whether every even index contains an even number and every 
odd index contains odd number of a given list:
True

Original list of numbers: [2, 1, 4, 3, 6, 7, 6, 4]
Check whether every even index contains an even number and every 
odd index contains odd number of a given list:
False

Original list of numbers: [2, 1, 4, 3, 6, 7, 6, 4]
Check whether every even index contains an even number and every 
odd index contains odd number of a given list:
True
03 [phần tử thứ ba]

Ngoài ra, bạn có thể sử dụng vòng lặp my_list[start:stop:step]1

Chỉ nhận các phần tử chỉ số chẵn hoặc lẻ của Danh sách Python bằng vòng lặp my_list[start:stop:step]1

Để tách các phần tử chỉ số chẵn và lẻ thành hai danh sách

  1. Khai báo các biến my_list[start:stop:step]3 và my_list[start:stop:step]4 và đặt chúng vào danh sách trống
  2. Lặp lại danh sách ban đầu
  3. Đẩy các phần tử chỉ số chẵn vào danh sách my_list[start:stop:step]3 và các phần tử chỉ số my_list[start:stop:step]4 vào danh sách my_list[start:stop:step]4

Hàm nhận một lần lặp và trả về một đối tượng liệt kê chứa các bộ trong đó phần tử đầu tiên là chỉ mục và phần tử 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ỉ số hiện tại là chẵn hay lẻ

Toán tử trả về phần còn lại từ phép chia giá trị đầu tiên cho giá trị thứ hai

Bước cuối cùng là thêm các chỉ mục chẵn vào danh sách my_list[start:stop:step]3 và các chỉ mục lẻ vào danh sách my_list[start:stop:step]4

Chủ Đề