Hướng dẫn get middle index of list python - lấy chỉ mục giữa của danh sách python

Tại sao bạn sẽ sử dụng một danh sách hiểu? Một danh sách hiểu chỉ biết về bất kỳ một thành viên nào trong danh sách tại một thời điểm, vì vậy đó sẽ là một cách tiếp cận kỳ lạ. Thay vì:

def findMiddle[input_list]:
    middle = float[len[input_list]]/2
    if middle % 2 != 0:
        return input_list[int[middle - .5]]
    else:
        return [input_list[int[middle]], input_list[int[middle-1]]]

Cái này sẽ trả lại mục giữa trong danh sách nếu đó là danh sách số lẻ hoặc một tuple chứa hai mục giữa nếu đó là danh sách được đánh số chẵn.

Edit:

Suy nghĩ thêm về cách người ta có thể làm điều này với một danh sách hiểu, chỉ để giải trí. Đã đưa ra điều này:

[lis[i] for i in 
    range[[len[lis]/2] - [1 if float[len[lis]] % 2 == 0 else 0], len[lis]/2+1]]

Đọc như:

"Trả về một mảng chứa [các] chữ số i của mảng lis, trong đó tôi là/là thành viên của một phạm vi, bắt đầu từ the length of lis, divided by 2, from which we then subtract either 1 if the length of the list is even, or 0 if it is odd và kết thúc vào lúc ____."

Việc bắt đầu/kết thúc phạm vi tương ứng với [ES] mà chúng tôi muốn trích xuất từ ​​lis, ghi nhớ những đối số nào được bao gồm/độc quyền từ hàm range[] trong Python.

Nếu bạn biết rằng nó sẽ là một danh sách độ dài kỳ lạ mỗi lần, bạn có thể giải quyết trên [0] đến cuối để có được giá trị đơn thực tế [thay vì một mảng chứa một giá trị duy nhất], nhưng nếu nó có thể hoặc sẽ là một Danh sách độ dài và bạn muốn trả về một mảng chứa hai giá trị giữa hoặc một mảng của giá trị đơn, hãy để lại như vậy. :]

Chương trình Python để tìm phần tử giữa của danh sách số ngẫu nhiên:

Trong hướng dẫn lập trình Python này, chúng tôi sẽ tìm hiểu cách tìm ra số trung bình trong một danh sách số. Ví dụ: nếu danh sách là [1,6,5,4,3], phần tử giữa là 4. bởi vì hai số 1,3 nhỏ hơn 4 và hai phần tử 5,6 lớn hơn 4. Danh sách của chúng tôi sẽ chứa Một số lượng các yếu tố lẻ.

Thuật toán:

Bạn có thể giải quyết vấn đề này bằng cách lặp qua từng yếu tố của danh sách từng cái một và kiểm tra từng phần tử nếu đó là phần tử giữa hay không. Chúng ta có thể kiểm tra nó bằng cách so sánh số lượng của tất cả các yếu tố nhỏ hơn và lớn hơn trong danh sách. Nếu đối với một số, danh sách chứa một số lượng nhỏ hơn và lớn hơn, nó sẽ là số trung bình trong danh sách đó. Vấn đề chính của giải pháp này là chúng ta cần lặp lại trong danh sách nhiều lần.

Một cách khác và cách ưa thích nhất để giải quyết vấn đề này là bằng cách sắp xếp danh sách. Nếu chúng ta sắp xếp danh sách, nó sẽ di chuyển phần tử giữa đến trung tâm. Sử dụng độ dài của danh sách, chúng ta có thể tìm ra phần tử giữa một cách dễ dàng.

Sắp xếp một danh sách trong Python:

Python đi kèm với một phương thức sẵn có ‘sort [], sắp xếp các yếu tố của một danh sách theo thứ tự tăng dần hoặc giảm dần. Nó không lấy bất kỳ tham số nào nhưng tùy chọn bạn có thể vượt qua một tham số ‘đảo ngược để sắp xếp danh sách theo thứ tự đảo ngược.

Nếu ’ngược lại, thì đúng là, danh sách này sẽ được sắp xếp theo thứ tự đảo ngược. Khác, nó sẽ sắp xếp danh sách theo thứ tự ngày càng tăng, đó là hành vi mặc định.

Sắp xếp [] phương thức không trả về bất kỳ giá trị nào. Nó sẽ sửa đổi danh sách ban đầu.

Trong ví dụ này, chúng tôi sẽ sắp xếp danh sách theo thứ tự mặc định. Trên thực tế, chúng ta có thể sắp xếp nó theo bất kỳ thứ tự nào chúng ta muốn. Phần tử giữa sẽ được đặt luôn ở giữa nếu danh sách được sắp xếp.

Chương trình Python:

#1
my_list = [4,3,2,9,10,44,1]
#2
my_list.sort[]
#3
print["sorted list is ",my_list]
#4
print["mid value is ",my_list[int[len[my_list]/2]]]

Bạn cũng có thể tải xuống chương trình này từ đây.

Giải trình :

Các số nhận xét trong chương trình trên biểu thị các số bước dưới đây:

  1. My_list là danh sách đã cho, chúng ta cần tìm ra yếu tố giữa của danh sách này. Ở đây, danh sách đã được đưa ra. Bạn có thể sửa đổi chương trình để điền vào danh sách bằng cách đọc các yếu tố danh sách từ người dùng. Lấy độ dài của danh sách từ người dùng, sử dụng một vòng để đọc từng mục một và nối chúng vào danh sách.
  2. Như đã giải thích ở trên, sử dụng phương thức .Sort [], chúng ta có thể sắp xếp một danh sách trong Python. Phương pháp này không trả lại bất kỳ giá trị nào. Nó sắp xếp tất cả các yếu tố trong danh sách chúng tôi gọi là Sắp xếp [] hoặc nó sẽ sửa đổi danh sách ban đầu.
  3. In ra danh sách sắp xếp.
  4. In giá trị giữa của danh sách được sắp xếp bằng cách truy cập kích thước của vị trí danh sách/2. Để có được độ dài của một danh sách, chúng tôi đang sử dụng phương pháp LEN [Danh sách]. Phương thức Len [Danh sách] Trả về độ dài của một danh sách. Chia giá trị này cho 2 sẽ cho chúng ta vị trí giữa.

Đầu ra:

Hướng dẫn tương tự:

  • Tìm tổng số ký tự chữ thường trong một chuỗi bằng Python 3
  • Chương trình Python để tìm chu vi của một vòng tròn
  • Chương trình Python để tìm tổng của tất cả các giá trị của từ điển
  • Chương trình Python để tìm phần tử tối đa và tối thiểu trong danh sách
  • Chương trình Python để tìm sự nhân của tất cả các yếu tố trong danh sách
  • Chương trình Python để tìm căn bậc hai của một số

Làm thế nào để bạn tìm thấy chỉ số giữa của một danh sách trong Python?

Để có được độ dài của một danh sách, chúng tôi đang sử dụng phương pháp LEN [Danh sách].Phương thức Len [Danh sách] Trả về độ dài của một danh sách.Chia giá trị này cho 2 sẽ cho chúng ta vị trí giữa.Dividing this value by 2 will give us the middle position.

Làm thế nào để bạn tìm thấy chỉ số giữa của một mảng?

int mid = FirstIndex + [LastIndex-firstindex]/2, sẽ cung cấp cho bạn giữa mảng. , will give you the mid of the array.

Bài Viết Liên Quan

Chủ Đề