1. 程式人生 > 程式設計 >python的列表List求均值和中位數例項

python的列表List求均值和中位數例項

我就廢話不多說了,直接上程式碼吧!

import numpy as np
a = [2,4,6,8,10]
average_a = np.mean(a)
median_a = np.median(a)

知識補充:python--尋找兩個列表的中位數

題目描述:

給定兩個大小為 m 和 n 的有序陣列 nums1 和 nums2。

請你找出這兩個有序陣列的中位數,並且要求演算法的時間複雜度為 O(log(m + n))。

你可以假設 nums1 和 nums2 不會同時為空。

示例 1:

nums1 = [1,3]
nums2 = [2]

則中位數是 2.0

示例 2:

nums1 = [1,2]

nums2 = [3,4]

則中位數是 (2 + 3)/2 = 2.5

# nums1 = [1,3,3]
# nums2 = [2,5,4]
def list_model(nums1,nums2):
  nums = nums1 + nums2
  nums.sort()
  print("您輸入的兩列表為 :",nums)
  n = len(nums)

  # print((nums[int(n/2-1)] + nums[int(n/2)])/2)
#   print(n)
  if n%2==0:
    model = (nums[int(n/2-1)] + nums[int(n/2)])/2
  else:
    model = nums[int((n+1)/2 - 1)]
  return(model)

  

x = input("請輸入第一個列表 :")
nums1 = x.split(',')
nums1 = [float(nums1[i]) for i in range(len(nums1))]

y = input("請輸入第二個列表 :")
nums2 = y.split(',')
nums2 = [float(nums2[i]) for i in range(len(nums2))]

print("您所求的兩列表的中位數為 :",list_model(nums1,nums2))
請輸入第一個列表 :1,2.5,4
請輸入第二個列表 :2,4
您輸入的兩列表為 : [1.0,2.0,3.0,4.0,4.0]
您所求的兩列表的中位數為 : 2.75

以上這篇python的列表List求均值和中位數例項就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。