比如 xyyzzz 中位数是2
xyyzzziii 中位数是2.5
def string(self, str):
list = []
count = []
for i in str:
list.append(i)
myset = set(list)
for item in myset:
u = list.count(item)
count.append(u)
count = self.quick(count)
if len(count)%2 == 0:
print (count[len(count)/2] + count[len(count)/2-1])/2.0
else:
print count[len(count)/2]
def quick(self, nums):
# type: (object, object) -> object
if len(nums) <= 1:
return nums
left = []
right = []
base = nums.pop()
for x in nums:
if x > base:
right.append(x)
else:
left.append(x)
return self.quick(left) + [base] + self.quick(right)
set() 函数创建一个无序不重复元素集,删除重复数据
count() 方法用于统计字符串里某个字符出现的次数
还要注意 Python2.x 里,整数除整数,只能得出整数。如果要得到小数部分,需要把其中一个数改成浮点数