日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

Python?編程操作連載之字符串,列表,字典和集合處理_python

作者:??黎曼假設(shè)???? ? 更新時(shí)間: 2022-08-04 編程語(yǔ)言

1.如何統(tǒng)計(jì)序列中元素出現(xiàn)的頻率并排序?

統(tǒng)計(jì)序列中元素出現(xiàn)的頻率的結(jié)果肯定是一個(gè)字典,Key 為序列中的元素而 Value 為元素出現(xiàn)的次數(shù),因此可以先創(chuàng)建一個(gè)字典,作為初始的統(tǒng)計(jì)結(jié)果,并假設(shè)初始出現(xiàn)的次數(shù)都為0。

對(duì)頻率結(jié)果字典的 Value 進(jìn)行排序

from random import randint

# 生成包含重復(fù)元素的隨機(jī)序列
nums = [randint(0, 10) for num in range(20)]

# 元素出現(xiàn)次數(shù)的統(tǒng)計(jì)最終肯定是一個(gè)字典,因此可以以元素的Key,出現(xiàn)的次數(shù)為Value
count = dict.fromkeys(nums, 0)

# 統(tǒng)計(jì)頻次
for num in nums:
    count[num] += 1

# 排序方案一
# 根據(jù)Value進(jìn)行排序
_count = sorted(count.values())
# 獲取最大的次數(shù)
max = _count.pop()
keys = []

# 根據(jù)Value獲取Key
for k, v in count.items():
    if v == max:
        keys.append(k)


if __name__ == '__main__':

    print(nums)
    print(count)
    print(_count)
    print(max)
    print(keys)

?出現(xiàn)的最大頻次為4,且頻次為4的元素是9和1

使用 Counter 對(duì)象進(jìn)行排序

# 排序方案二
from collections import Counter
_count = Counter(count)

# 中間代碼不變

if __name__ == '__main__':

    print(nums)
    print(count)
    print(_count)
    print(_count.most_common())
    # 獲取出現(xiàn)頻次最高的三個(gè)元素
    print(_count.most_common(3))

2.統(tǒng)計(jì)單詞次數(shù)

import re
from collections import Counter

zen = open('zen.txt').read()
# 分割所有單詞
zen = re.split('\W+', zen)
# print(zen)

_zen = Counter(zen)
print(_zen)
_zen_3 = _zen.most_common(3)
print('前三個(gè)出現(xiàn)頻次最高的詞:', _zen_3)

原文鏈接:https://juejin.cn/post/7108003465133031461

欄目分類
最近更新