欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

python函數(shù)求序列中位數(shù),python求列表的中位數(shù)

python用戶輸入若干個整數(shù),按降序打印輸出在一行(使用空格間隔),并給出中位數(shù)?

# coding=gbk

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供宜良網(wǎng)站建設(shè)、宜良做網(wǎng)站、宜良網(wǎng)站設(shè)計、宜良網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、宜良企業(yè)網(wǎng)站模板建站服務(wù),10年宜良做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

import numpy as np

inputStr = input("請輸入多個整數(shù),以空格分隔:")

# 使用列表推導(dǎo)式將輸入的內(nèi)容以空格分隔,如果有小數(shù),則通過int函數(shù)變?yōu)檎麛?shù)

input_lists = [int(num) for num in inputStr.split(" ")]

# 通過sort方法,并使用參數(shù)reverse=True,來將列表的數(shù)據(jù)以降序排列

input_lists.sort(reverse=True)

# 由于通過",".join()連接的列表不能有整數(shù)元素,所以通過列表推導(dǎo)式將列表每個元素通過str轉(zhuǎn)為字符串后,再聯(lián)接為以逗號分隔的字符串

print(",".join([str(num) for num in input_lists]))

# 使用numpy的median函數(shù)來得到中位數(shù)

print(np.median(input_lists))

中位數(shù)python代碼

使用python找到一列數(shù)的中位數(shù)并輸出的代碼示例如下,只有9行代碼:

import random;

N=9;lst=[

random.randint(0,100)

for i in range(N)];

lst.sort();

l=len(lst);

print("sorted:",lst);

print("median:",

sum(lst[((l-1)//2):(l//2+1)])/2);

Python 通用的序列操作

序列 (sequence)是Python最基本的一種數(shù)據(jù)結(jié)構(gòu)。

序列中的每個元素都有編號,即其位置或索引,其中第一個元素的索引為0,第二個元素的索引為1,依此類推。Python的序列索引支持負(fù)數(shù),-1表示序列的最后一個元素,這是Python不同其他很多種語言不同的地方。

Python內(nèi)置了多種序列,列表、元組、字符串是其中最常用的三種,本文為你描述各種序列的通用操作。

索引從0開始,索引號為0的元素為1,greeting的索引號為0的元素為'H'。

你可能注意到'Hello'和'H'都用單引號包圍,這是Python不同于其他語言的另一個地方。Python并沒有專門用于表示字符的數(shù)據(jù)類型,因此一個字符就是一個只包含一個元素的字符串。

Python的序列索引支持負(fù)數(shù),-1表示倒數(shù)第一個元素。

切片 (slicing)操作用于訪問序列特定 范圍 內(nèi)的元素。在一對方括號內(nèi)使用兩個索引,并用冒號隔開:

注意到,返回的序列并未包含愿序列的第6個元素7,就相當(dāng)于數(shù)學(xué)集合中的 左閉右開區(qū)間 操作。

換言之,你提供兩個索引來指定切片的邊界,其中第一個索引指定的元素包含在切片內(nèi),但第二個索引指定的元素不包含在切片內(nèi)。

保留冒號,省略第一個索引,表示從序列起始位置開始切片;省略第二個索引,表示切片到序列末尾,包含最后一個元素:

這個操作的效果是:在指定的區(qū)間內(nèi)間隔取元素,語法格式為:

例如:

步長為正數(shù)時,它從起點(diǎn)移到終點(diǎn),而步長為負(fù)數(shù)時,它從終點(diǎn)移到起點(diǎn)。

可以使用加法運(yùn)算(+運(yùn)算符)拼接兩個序列:

從錯誤消息可知,不能拼接列表和字符串,雖然它們都是序列。一般而言,不能拼接不同類型的序列。

將序列與數(shù)x 相乘時,將重復(fù)這個序列x 次來創(chuàng)建一個新序列:

初始化一個長度為10的空列表:

成員資格檢查判定一個元素是否存在于集合中,如存在返回True,否則返回False,實(shí)際上是一個布爾表達(dá)式。

語法:

例如:

內(nèi)置函數(shù) len 返回序列包含的元素個數(shù),而 min 和 max 分別返回序列中最小和最大的元素。

Python通用的序列操作有:索引、切片、乘法、成員資格檢查、長度、最小值和最大值。

如何用python求list的中位數(shù)

def?median(lst):

if?not?lst:

return?

lst=sorted(lst)

if?len(lst)%2==1:

return?lst[len(lst)//2]

else:

return??(lst[len(lst)//2-1]+lst[len(lst//2])/2.0

2 如何用Python進(jìn)行數(shù)據(jù)計算

numpy計算平均數(shù) 標(biāo)準(zhǔn)差 相關(guān)系數(shù)等基本知識

NumPy 是python 語言的一個第三方庫,其支持大量高維度數(shù)組與矩陣運(yùn)算。此外,NumPy 也針對數(shù)組運(yùn)算提供大量的數(shù)學(xué)函數(shù)。

#導(dǎo)入Numpy庫,并命名為np

import numpy as np

#創(chuàng)建一維數(shù)組

a = np.array([1, 2, 3])

# NumPy可以很方便地創(chuàng)建連續(xù)數(shù)組,比如我使用arange或linspace函數(shù)進(jìn)行創(chuàng)建:

b = np.arange(1,5,1) // 返回一個有終點(diǎn)和起點(diǎn)、固定步長的排列,如起點(diǎn)是1,終點(diǎn)是4,步長為1,即【1,2,3,4】,

c = np.linspace(1,9,5) 返回一個有終點(diǎn)和起點(diǎn)、元素個數(shù)的的排列,如起點(diǎn)是1,終點(diǎn)是9,元素個數(shù)為5,即【1,3,5,7,9】

#通過NumPy可以自由地創(chuàng)建等差數(shù)組,同時也可以進(jìn)行加、減、乘、除、求n次方和取余數(shù)。

求和:np.sum(a)

求取平均值:np.mean(a)

求取中位數(shù):np.median(a)

求取加權(quán)平均數(shù):np.average(a)

求取方差:var() np.var(a)

求取最小值:np.amin(a)

求取最大值:np.amax(a)

將兩個數(shù)相加:np.add(x1, x2)

將兩個數(shù)相減:np.subtract(x1, x2)

將兩個數(shù)相乘:np.multiply(x1, x2)

將兩個數(shù)相除:np.divide(x1, x2)

立方:np.power(x1, x2)

除余:np.remainder(x1, x2)

相關(guān)系數(shù)計算:np.corrcoef(a1, a2) (a1、a2都是矩陣)

【python】在不排序的情況下求數(shù)組中的中位數(shù)?

題目:中位數(shù)就是一組數(shù)據(jù)從小到大排列后中間的那個數(shù)字。如果數(shù)組長度為偶數(shù),那么中位數(shù)的值就是中間兩個數(shù)字相加除以2,如果數(shù)組長度為奇數(shù),那么就是中間那個數(shù)。

分析:采用類快速排序的方法,把問題轉(zhuǎn)化為求一列數(shù)中第i小的數(shù)的問題,求中位數(shù)就是求一列數(shù)的第(len(arr)/2 + 1)小的數(shù)的問題)。

當(dāng)使用依次類快速排序算法后,分割元素的下標(biāo)為pos:

(1)當(dāng)pos len(arr) / 2時,說明中位數(shù)在數(shù)組左半部分,在左半部分繼續(xù)查找。

(2)當(dāng)pos == len(arr) / 2,說明找到中位數(shù)arr[pos]。

(3)當(dāng)pos len(arr) / 2, 說明中位數(shù)在數(shù)組右半部分,在右半部分繼續(xù)查找。

以上默認(rèn)此數(shù)組序列長度為奇數(shù),如果為偶數(shù)就是調(diào)用上述方法兩次查找中間的兩個數(shù),再求平均。

code:

def partition(arr, low, high):

key = arr[low]

while low high:

? ? while low high and arr[high] key:

? ? ? ? high -= 1

? ? arr[low] = arr[high]

? ? while low high and arr[low] key:

? ? ? ? low += 1

? ? arr[high] = arr[low]

arr[high] = arr[low]

arr[low] = key

pos = low

return pos

def getMid(arr):

low = 0

high = len(arr) - 1

mid = low + (high - low) 1

while low high:

? ? # 以arr[low] 為基準(zhǔn)把數(shù)組分成兩部分

? ? pos = partition(arr, low, high)

? ? if pos == mid:? # 找到中位數(shù)

? ? ? ? break

? ? elif pos mid:? # 繼續(xù)在右半部分查找

? ? ? ? high = pos - 1

? ? else:? # 繼續(xù)在左半部分查找

? ? ? ? low = pos + 1

# 如果數(shù)組長度為奇數(shù),中位數(shù)為中間的元素,否則就是中間兩個數(shù)的平均值

return arr[mid] if (len(arr) % 2) != 0 else (arr[mid] + arr[mid + 1]) / 2

if __name__ == "__main__":

arr = [7, 5, 3, 1, 2,? 11, 9]

print(getMid(arr))

程序的運(yùn)行結(jié)果為:6

網(wǎng)頁名稱:python函數(shù)求序列中位數(shù),python求列表的中位數(shù)
網(wǎng)頁路徑:http://chinadenli.net/article22/hecscc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)手機(jī)網(wǎng)站建設(shè)響應(yīng)式網(wǎng)站商城網(wǎng)站建站公司外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)