Python如何查找兩個(gè)有序列表中位數(shù)-創(chuàng)新互聯(lián)

這篇文章主要介紹了Python如何查找兩個(gè)有序列表中位數(shù),具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)提供高防主機(jī)、云服務(wù)器、香港服務(wù)器、聯(lián)通服務(wù)器托管

具體如下:

我用的是歸并的思想,當(dāng)然還可以用遞歸的方法,下面是具體實(shí)現(xiàn):

#!usr/bin/env python
#encoding:utf-8
'''''
__Author__:沂水寒城
功能:找到兩個(gè)有序列表的中位數(shù)
若列表總長(zhǎng)度為奇數(shù)則直接返回中間下標(biāo)的值
否則返回前一個(gè)值,如長(zhǎng)度為6則返回下標(biāo)為2處的值
'''
import random
def random_nums_genetor(max_value=1000, total=100):
  '''''
  生成隨機(jī)數(shù)
  '''
  num_list=[]
  for i in range(total):
    num_list.append(random.randint(1,max_value))
  return num_list
def find_two_list_mid_num(num_list1,num_list2):
  '''''
  找到兩個(gè)有序列表的中位數(shù)
  '''
  length2=len(num_list1)
  length3=len(num_list2)
  total=length2+length3
  if total%2==0:
    half=total/2-1
  else:
    half=total/2
  res_list=[]
  while len(num_list1) and len(num_list2):
    if num_list1[0]<num_list2[0]:
      res_list.append(num_list1.pop(0))
    else:
      res_list.append(num_list2.pop(0))
  if len(num_list1):
    res_list+=num_list1
  elif len(num_list2):
    res_list+=num_list2
  #print res_list
  print res_list[half]
  return res_list
if __name__ == '__main__':
  print "創(chuàng)新互聯(lián)測(cè)試結(jié)果:"
  num_list1=[1,2,5,7,12,45,67,100]
  num_list2=[11,34,77,90]
  res_list=find_two_list_mid_num(num_list1,num_list2)
  print res_list[5]
  print '--------------------------------------------------------'
  num_list1=random_nums_genetor(max_value=1000, total=10)
  num_list2=random_nums_genetor(max_value=100, total=7)
  res_list=find_two_list_mid_num(num_list1, num_list2)
  print res_list[8]

結(jié)果如下:

Python如何查找兩個(gè)有序列表中位數(shù)

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Python如何查找兩個(gè)有序列表中位數(shù)”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

本文題目:Python如何查找兩個(gè)有序列表中位數(shù)-創(chuàng)新互聯(lián)
文章網(wǎng)址:http://muchs.cn/article28/dpesjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈、網(wǎng)站導(dǎo)航、網(wǎng)站策劃商城網(wǎng)站

廣告

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

外貿(mào)網(wǎng)站建設(shè)