Hướng dẫn how do you find the median of an even number in python? - làm thế nào để bạn tìm thấy trung bình của một số chẵn trong python?

254

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Làm thế nào để bạn tìm thấy trung bình của một danh sách trong Python? Danh sách có thể có bất kỳ kích thước nào và các số không được đảm bảo là theo bất kỳ thứ tự cụ thể nào.

Nếu danh sách chứa số lượng phần tử chẵn, hàm sẽ trả về trung bình của hai phần giữa.

Dưới đây là một số ví dụ (được sắp xếp cho mục đích hiển thị):

median([1]) == 1
median([1, 1]) == 1
median([1, 1, 2, 4]) == 1.5
median([0, 2, 5, 6, 8, 9, 9]) == 6
median([0, 0, 0, 0, 4, 4, 6, 8]) == 2

Hướng dẫn how do you find the median of an even number in python? - làm thế nào để bạn tìm thấy trung bình của một số chẵn trong python?

Veedrac

55,9K14 Huy hiệu vàng109 Huy hiệu bạc166 Huy hiệu Đồng14 gold badges109 silver badges166 bronze badges

Đã hỏi ngày 7 tháng 6 năm 2014 lúc 21:04Jun 7, 2014 at 21:04

2

Python 3.4 có

statistics.median(map(float, items))
#>>> 3.0

from decimal import Decimal
statistics.median(map(Decimal, items))
#>>> Decimal('3')
7:

Trả về trung bình (giá trị trung bình) của dữ liệu số.

Khi số lượng điểm dữ liệu là lẻ, hãy trả về điểm dữ liệu giữa. Khi số lượng điểm dữ liệu là chẵn, trung bình được nội suy bằng cách lấy trung bình của hai giá trị trung bình:

>>> median([1, 3, 5])
3
>>> median([1, 3, 5, 7])
4.0

Usage:

import statistics

items = [6, 1, 8, 2, 3]

statistics.median(items)
#>>> 3

Nó cũng khá cẩn thận với các loại:

statistics.median(map(float, items))
#>>> 3.0

from decimal import Decimal
statistics.median(map(Decimal, items))
#>>> Decimal('3')

Đã trả lời ngày 8 tháng 6 năm 2014 lúc 0:08Jun 8, 2014 at 0:08

Hướng dẫn how do you find the median of an even number in python? - làm thế nào để bạn tìm thấy trung bình của một số chẵn trong python?

VeedracveedracVeedrac

55,9K14 Huy hiệu vàng109 Huy hiệu bạc166 Huy hiệu Đồng14 gold badges109 silver badges166 bronze badges

3

Đã hỏi ngày 7 tháng 6 năm 2014 lúc 21:04python-2.x):

def median(lst):
    n = len(lst)
    s = sorted(lst)
    return (s[n//2-1]/2.0+s[n//2]/2.0, s[n//2])[n % 2] if n else None

>>> median([-5, -5, -3, -4, 0, -1])
-3.5

statistics.median(map(float, items))
#>>> 3.0

from decimal import Decimal
statistics.median(map(Decimal, items))
#>>> Decimal('3')
8:

>>> from numpy import median
>>> median([1, -4, -1, -1, 1, -3])
-1.0

Python 3.4 có

statistics.median(map(float, items))
#>>> 3.0

from decimal import Decimal
statistics.median(map(Decimal, items))
#>>> Decimal('3')
7:

>>> from statistics import median
>>> median([5, 2, 3, 8, 9, -2])
4.0

Trả về trung bình (giá trị trung bình) của dữ liệu số.Jun 7, 2014 at 23:33

Hướng dẫn how do you find the median of an even number in python? - làm thế nào để bạn tìm thấy trung bình của một số chẵn trong python?

Khi số lượng điểm dữ liệu là lẻ, hãy trả về điểm dữ liệu giữa. Khi số lượng điểm dữ liệu là chẵn, trung bình được nội suy bằng cách lấy trung bình của hai giá trị trung bình:A.J. Uppal

Nó cũng khá cẩn thận với các loại:6 gold badges41 silver badges74 bronze badges

7

Đã trả lời ngày 8 tháng 6 năm 2014 lúc 0:08

def median(lst):
    sortedLst = sorted(lst)
    lstLen = len(lst)
    index = (lstLen - 1) // 2
   
    if (lstLen % 2):
        return sortedLst[index]
    else:
        return (sortedLst[index] + sortedLst[index + 1])/2.0

Hướng dẫn how do you find the median of an even number in python? - làm thế nào để bạn tìm thấy trung bình của một số chẵn trong python?

Veedracveedrac

(Hoạt động với Python-2.x):16 gold badges44 silver badges62 bronze badges

Đối với Python-3.x, hãy sử dụng

statistics.median(map(float, items))
#>>> 3.0

from decimal import Decimal
statistics.median(map(Decimal, items))
#>>> Decimal('3')
7:Jun 7, 2014 at 22:09

Đã trả lời ngày 7 tháng 6 năm 2014 lúc 23:33swolfe

A.J. Uppala.J. Uppal5 silver badges8 bronze badges

2

Phim thương hiệu vàng 18,7K6

def median(data):
    data.sort()
    mid = len(data) // 2
    return (data[mid] + data[~mid]) / 2

Hàm

def median(lst):
    n = len(lst)
    s = sorted(lst)
    return (s[n//2-1]/2.0+s[n//2]/2.0, s[n//2])[n % 2] if n else None
0 rất hữu ích cho việc này. Sử dụng hàm được sắp xếp để đặt hàng danh sách, sau đó chỉ cần trả về giá trị giữa (hoặc trung bình hai giá trị giữa nếu danh sách chứa số lượng phần tử chẵn).Jan 21, 2018 at 17:22

Hướng dẫn how do you find the median of an even number in python? - làm thế nào để bạn tìm thấy trung bình của một số chẵn trong python?

vvvvvVlad Bezden

19.1K16 Huy hiệu vàng44 Huy hiệu bạc62 Huy hiệu đồng23 gold badges240 silver badges176 bronze badges

Đã trả lời ngày 7 tháng 6 năm 2014 lúc 22:09

>>> median([1, 3, 5])
3
>>> median([1, 3, 5, 7])
4.0
0

Swolfeswolfe

Hướng dẫn how do you find the median of an even number in python? - làm thế nào để bạn tìm thấy trung bình của một số chẵn trong python?

8865 Huy hiệu bạc8 Huy hiệu Đồng

Tất nhiên bạn có thể sử dụng các chức năng xây dựng trong các chức năng, nhưng nếu bạn muốn tạo riêng bạn, bạn có thể làm một cái gì đó như thế này. Bí quyết ở đây là sử dụng ~ toán tử lật số dương sang âm. Chẳng hạn ~ 2 -> -3 và sử dụng tiêu cực trong danh sách trong Python sẽ đếm các mục từ cuối. Vì vậy, nếu bạn có mid == 2 thì nó sẽ lấy phần tử thứ ba từ mục đầu và thứ ba từ cuối.12 gold badges32 silver badges42 bronze badges

Đã trả lời ngày 21 tháng 1 năm 2018 lúc 17:22Apr 25, 2015 at 20:18

2

Vlad Bezdenvlad Bezden

76.7K23 Huy hiệu vàng240 Huy hiệu bạc176 Huy hiệu đồng

>>> median([1, 3, 5])
3
>>> median([1, 3, 5, 7])
4.0
1

Đây là một giải pháp sạch hơn:

>>> median([1, 3, 5])
3
>>> median([1, 3, 5, 7])
4.0
2

Lưu ý: Câu trả lời đã thay đổi để kết hợp gợi ý trong bình luận.

SihaJun 8, 2014 at 0:49

Hướng dẫn how do you find the median of an even number in python? - làm thế nào để bạn tìm thấy trung bình của một số chẵn trong python?

VeedracveedracVeedrac

55,9K14 Huy hiệu vàng109 Huy hiệu bạc166 Huy hiệu Đồng14 gold badges109 silver badges166 bronze badges

2

Đã hỏi ngày 7 tháng 6 năm 2014 lúc 21:04

Python 3.4 có

statistics.median(map(float, items))
#>>> 3.0

from decimal import Decimal
statistics.median(map(Decimal, items))
#>>> Decimal('3')
7:

>>> median([1, 3, 5])
3
>>> median([1, 3, 5, 7])
4.0
3

Trả về trung bình (giá trị trung bình) của dữ liệu số.Jun 7, 2014 at 22:48

Hướng dẫn how do you find the median of an even number in python? - làm thế nào để bạn tìm thấy trung bình của một số chẵn trong python?

5

>>> median([1, 3, 5])
3
>>> median([1, 3, 5, 7])
4.0
4

Khi số lượng điểm dữ liệu là lẻ, hãy trả về điểm dữ liệu giữa. Khi số lượng điểm dữ liệu là chẵn, trung bình được nội suy bằng cách lấy trung bình của hai giá trị trung bình:

Nó cũng khá cẩn thận với các loại:1 gold badge35 silver badges52 bronze badges

Đã trả lời ngày 8 tháng 6 năm 2014 lúc 0:08Sep 25, 2018 at 18:22

VeedracveedracBulent

(Hoạt động với Python-2.x):1 silver badge1 bronze badge

0

>>> median([1, 3, 5])
3
>>> median([1, 3, 5, 7])
4.0
5

Đối với Python-3.x, hãy sử dụng

statistics.median(map(float, items))
#>>> 3.0

from decimal import Decimal
statistics.median(map(Decimal, items))
#>>> Decimal('3')
7:Mar 4, 2016 at 11:50

Đã trả lời ngày 7 tháng 6 năm 2014 lúc 23:33warvariuc

A.J. Uppala.J. Uppal36 gold badges167 silver badges226 bronze badges

Phim thương hiệu vàng 18,7K6

>>> median([1, 3, 5])
3
>>> median([1, 3, 5, 7])
4.0
6

Hàm

def median(lst):
    n = len(lst)
    s = sorted(lst)
    return (s[n//2-1]/2.0+s[n//2]/2.0, s[n//2])[n % 2] if n else None
0 rất hữu ích cho việc này. Sử dụng hàm được sắp xếp để đặt hàng danh sách, sau đó chỉ cần trả về giá trị giữa (hoặc trung bình hai giá trị giữa nếu danh sách chứa số lượng phần tử chẵn).

>>> median([1, 3, 5])
3
>>> median([1, 3, 5, 7])
4.0
7

vvvvv

>>> median([1, 3, 5])
3
>>> median([1, 3, 5, 7])
4.0
8

Hướng dẫn how do you find the median of an even number in python? - làm thế nào để bạn tìm thấy trung bình của một số chẵn trong python?

19.1K16 Huy hiệu vàng44 Huy hiệu bạc62 Huy hiệu đồng

Đã trả lời ngày 7 tháng 6 năm 2014 lúc 22:0915 gold badges153 silver badges134 bronze badges

SwolfeswolfeJul 5, 2020 at 23:16

Hướng dẫn how do you find the median of an even number in python? - làm thế nào để bạn tìm thấy trung bình của một số chẵn trong python?

8865 Huy hiệu bạc8 Huy hiệu ĐồngThe AG

Tất nhiên bạn có thể sử dụng các chức năng xây dựng trong các chức năng, nhưng nếu bạn muốn tạo riêng bạn, bạn có thể làm một cái gì đó như thế này. Bí quyết ở đây là sử dụng ~ toán tử lật số dương sang âm. Chẳng hạn ~ 2 -> -3 và sử dụng tiêu cực trong danh sách trong Python sẽ đếm các mục từ cuối. Vì vậy, nếu bạn có mid == 2 thì nó sẽ lấy phần tử thứ ba từ mục đầu và thứ ba từ cuối.8 silver badges17 bronze badges

0

Đã trả lời ngày 21 tháng 1 năm 2018 lúc 17:22

Vlad Bezdenvlad Bezden

>>> median([1, 3, 5])
3
>>> median([1, 3, 5, 7])
4.0
9

76.7K23 Huy hiệu vàng240 Huy hiệu bạc176 Huy hiệu đồngJan 21, 2016 at 0:00

0

Đây là một giải pháp sạch hơn:

import statistics

items = [6, 1, 8, 2, 3]

statistics.median(items)
#>>> 3
0

Lưu ý: Câu trả lời đã thay đổi để kết hợp gợi ý trong bình luận.Apr 22, 2020 at 12:07

Gabriel123Gabriel123Gabriel123

Siha4 silver badges10 bronze badges

7.19112 Huy hiệu vàng32 Huy hiệu bạc42 Huy hiệu đồng

import statistics

items = [6, 1, 8, 2, 3]

statistics.median(items)
#>>> 3
1

Đã trả lời ngày 25 tháng 4 năm 2015 lúc 20:18May 27, 2016 at 8:52

Bạn có thể thử thuật toán QuickSelect nếu thời gian chạy trường hợp trung bình nhanh hơn là cần thiết. QuickSelect có hiệu suất trường hợp trung bình (và tốt nhất)

def median(lst):
    n = len(lst)
    s = sorted(lst)
    return (s[n//2-1]/2.0+s[n//2]/2.0, s[n//2])[n % 2] if n else None
1, mặc dù nó có thể kết thúc
def median(lst):
    n = len(lst)
    s = sorted(lst)
    return (s[n//2-1]/2.0+s[n//2]/2.0, s[n//2])[n % 2] if n else None
2 vào một ngày tồi tệ.

import statistics

items = [6, 1, 8, 2, 3]

statistics.median(items)
#>>> 3
2

Hướng dẫn how do you find the median of an even number in python? - làm thế nào để bạn tìm thấy trung bình của một số chẵn trong python?

19.1K16 Huy hiệu vàng44 Huy hiệu bạc62 Huy hiệu đồng

Đã trả lời ngày 7 tháng 6 năm 2014 lúc 22:0915 gold badges153 silver badges134 bronze badges

Đã trả lời ngày 17 tháng 9 năm 2020 lúc 2:32Sep 17, 2020 at 2:32

Hướng dẫn how do you find the median of an even number in python? - làm thế nào để bạn tìm thấy trung bình của một số chẵn trong python?

Rt.TongRt.TongRt.Tong

1672 Huy hiệu bạc5 Huy hiệu Đồng2 silver badges5 bronze badges

chức năng trung bình

import statistics

items = [6, 1, 8, 2, 3]

statistics.median(items)
#>>> 3
3

Đã trả lời ngày 21 tháng 5 năm 2015 lúc 13:55May 21, 2015 at 13:55

Tôi đã có một số vấn đề với danh sách các giá trị nổi. Cuối cùng tôi đã sử dụng đoạn mã từ Thống kê Python3.Median và đang làm việc hoàn hảo với các giá trị nổi mà không cần nhập. nguồn

import statistics

items = [6, 1, 8, 2, 3]

statistics.median(items)
#>>> 3
4

Đã trả lời ngày 3 tháng 5 năm 2017 lúc 16:54May 3, 2017 at 16:54

DandanDan

7171 Huy hiệu vàng7 Huy hiệu bạc19 Huy hiệu đồng1 gold badge7 silver badges19 bronze badges

import statistics

items = [6, 1, 8, 2, 3]

statistics.median(items)
#>>> 3
5

Đã trả lời ngày 18 tháng 2 năm 2018 lúc 18:00Feb 18, 2018 at 18:00

vk123vk123vk123

Phù hiệu bằng đồng 2133 bronze badges

import statistics

items = [6, 1, 8, 2, 3]

statistics.median(items)
#>>> 3
6

Đã trả lời ngày 6 tháng 4 năm 2018 lúc 21:55Apr 6, 2018 at 21:55

Hướng dẫn how do you find the median of an even number in python? - làm thế nào để bạn tìm thấy trung bình của một số chẵn trong python?

3

Tôi đã xác định hàm trung bình cho một danh sách các số là

import statistics

items = [6, 1, 8, 2, 3]

statistics.median(items)
#>>> 3
7

Đã trả lời ngày 14 tháng 10 năm 2014 lúc 14:12Oct 14, 2014 at 14:12

1

import statistics

items = [6, 1, 8, 2, 3]

statistics.median(items)
#>>> 3
8

Đã trả lời ngày 26 tháng 8 năm 2019 lúc 7:12Aug 26, 2019 at 7:12

Một cách tiếp cận tổng quát hơn cho trung bình (và phần trăm) sẽ là:

import statistics

items = [6, 1, 8, 2, 3]

statistics.median(items)
#>>> 3
9

Đã trả lời ngày 7 tháng 5 năm 2020 lúc 19:46May 7, 2020 at 19:46

Conmakconmakconmak

1.0128 Huy hiệu bạc13 Huy hiệu đồng8 silver badges13 bronze badges

Thử cái này

statistics.median(map(float, items))
#>>> 3.0

from decimal import Decimal
statistics.median(map(Decimal, items))
#>>> Decimal('3')
0

Đã trả lời ngày 20 tháng 12 năm 2021 lúc 13:32Dec 20, 2021 at 13:32

Hướng dẫn how do you find the median of an even number in python? - làm thế nào để bạn tìm thấy trung bình của một số chẵn trong python?

0xN1nja0xN1nja0xN1nja

8085 Huy hiệu bạc13 Huy hiệu Đồng5 silver badges13 bronze badges

1

Thực hiện nó:

statistics.median(map(float, items))
#>>> 3.0

from decimal import Decimal
statistics.median(map(Decimal, items))
#>>> Decimal('3')
1

Nguồn từ

Hướng dẫn how do you find the median of an even number in python? - làm thế nào để bạn tìm thấy trung bình của một số chẵn trong python?

Asclepius

52.4K15 Huy hiệu vàng153 Huy hiệu bạc134 Huy hiệu đồng15 gold badges153 silver badges134 bronze badges

Đã trả lời ngày 4 tháng 10 năm 2020 lúc 16:36Oct 4, 2020 at 16:36

Duyuanchaoduyuanchaoduyuanchao

3,47324 Huy hiệu bạc15 Huy hiệu đồng24 silver badges15 bronze badges

Chức năng trung bình::

statistics.median(map(float, items))
#>>> 3.0

from decimal import Decimal
statistics.median(map(Decimal, items))
#>>> Decimal('3')
2

Hướng dẫn how do you find the median of an even number in python? - làm thế nào để bạn tìm thấy trung bình của một số chẵn trong python?

Đã trả lời ngày 15 tháng 2 năm 2020 lúc 11:03Feb 15, 2020 at 11:03

1

Đơn giản, hãy tạo một hàm trung bình với một đối số như một danh sách số và gọi hàm.

statistics.median(map(float, items))
#>>> 3.0

from decimal import Decimal
statistics.median(map(Decimal, items))
#>>> Decimal('3')
3

Hướng dẫn how do you find the median of an even number in python? - làm thế nào để bạn tìm thấy trung bình của một số chẵn trong python?

Asclepius

52.4K15 Huy hiệu vàng153 Huy hiệu bạc134 Huy hiệu đồng15 gold badges153 silver badges134 bronze badges

Đã trả lời ngày 4 tháng 10 năm 2020 lúc 16:36Apr 27, 2021 at 5:17

Duyuanchaoduyuanchao

statistics.median(map(float, items))
#>>> 3.0

from decimal import Decimal
statistics.median(map(Decimal, items))
#>>> Decimal('3')
4

3,47324 Huy hiệu bạc15 Huy hiệu đồng Basically if the number of items in the list is odd, return the middle number, otherwise, if you half an even list, python automatically rounds the higher number so we know the number before that will be one less (since we sorted it) and we can add the default higher number and the number lower than it and divide them by 2 to find the median.

Hướng dẫn how do you find the median of an even number in python? - làm thế nào để bạn tìm thấy trung bình của một số chẵn trong python?

Asclepius

52.4K15 Huy hiệu vàng153 Huy hiệu bạc134 Huy hiệu đồng15 gold badges153 silver badges134 bronze badges

Đã trả lời ngày 4 tháng 10 năm 2020 lúc 16:36Nov 6, 2020 at 6:31

Hướng dẫn how do you find the median of an even number in python? - làm thế nào để bạn tìm thấy trung bình của một số chẵn trong python?

1

Duyuanchaoduyuanchao

statistics.median(map(float, items))
#>>> 3.0

from decimal import Decimal
statistics.median(map(Decimal, items))
#>>> Decimal('3')
5

3,47324 Huy hiệu bạc15 Huy hiệu đồngJan 24, 2017 at 19:05

Hướng dẫn how do you find the median of an even number in python? - làm thế nào để bạn tìm thấy trung bình của một số chẵn trong python?

Chức năng trung bình:I Like

Đã trả lời ngày 15 tháng 2 năm 2020 lúc 11:032 gold badges20 silver badges41 bronze badges

2

Đơn giản, hãy tạo một hàm trung bình với một đối số như một danh sách số và gọi hàm.

statistics.median(map(float, items))
#>>> 3.0

from decimal import Decimal
statistics.median(map(Decimal, items))
#>>> Decimal('3')
6

Đã trả lời ngày 27 tháng 4 năm 2021 lúc 5:17

Những gì tôi đã làm là thế này:Dec 7, 2018 at 16:11

Giải thích: Về cơ bản nếu số lượng mục trong danh sách là số lẻ, hãy trả lại số giữa, nếu không, nếu bạn một nửa danh sách, Python tự động làm tròn số cao hơn để chúng tôi biết số trước đó sẽ ít hơn (vì chúng tôi đã sắp xếp nó ) và chúng tôi có thể thêm số cao hơn mặc định và số thấp hơn nó và chia chúng cho 2 để tìm trung vị.Farhan

Đã trả lời ngày 6 tháng 11 năm 2020 lúc 6:3115 silver badges22 bronze badges

2

Làm thế nào để bạn tìm thấy trung bình của một tập hợp các số trong Python?

Để tìm trung vị của danh sách trong Python, chúng ta có thể sử dụng phương thức thống kê.median ().Danh sách có thể có bất kỳ kích thước nào và các số không được đảm bảo là theo một thứ tự cụ thể.Nếu danh sách chứa số lượng hàng chẵn, hàm sẽ trả về trung bình của hai phần giữa.use statistics. median() method. The list can be of any size, and the numbers are not guaranteed to be in a particular order. If the list contains an even number of items, the function should return an average of the middle two.

Làm thế nào để tôi tìm thấy trung bình với số chẵn?

Khác, nếu số lượng quan sát là chẵn, thì trung bình là trung bình đơn giản của hai số giữa.Trong tính toán, trung bình là trung bình đơn giản của các thuật ngữ N/2 -th và (N/2 + 1).the simple average of the middle two numbers. In calculation, the median is the simple average of the n/2 -th and the (n/2 + 1) -th terms.

Trung bình của một danh sách thậm chí là gì?

Để tìm giá trị trung bình trong một danh sách với số lượng số chẵn, người ta phải xác định cặp giữa, thêm chúng và chia cho hai.determine the middle pair, add them, and divide by two.

Làm thế nào để bạn tìm thấy trung bình của một chương trình trong Python?

Để tìm một trung bình, trước tiên chúng tôi sắp xếp danh sách theo thứ tự tăng dần bằng hàm sort ().Bây giờ chúng tôi kiểm tra xem số chẵn hoặc số lẻ bằng cách kiểm tra phần còn lại của chúng.Nếu số lượng là chẵn, chúng tôi tìm thấy 2 yếu tố giữa trong danh sách và lấy trung bình của chúng để in nó ra.