Lijingyang 发表于 2022-4-7 23:12:05

如何按照元素出现的频率的高低转为字典

如何将列表转为字典

isdkz 发表于 2022-4-7 23:18:38

import random
from collections import Counter                                 # 注意这里
tis = []
for i in range(4):
    tis.append([])
    for j in range(4):
      j = random.randint(97, 122)
      tis.append(chr(j))
a = sum(tis,[])
b = dict(Counter(a))                                 # 注意这里
print(a)
print(b)

ba21 发表于 2022-4-7 23:22:20

import random
tis = []
for i in range(4):
    tis.append([])
    for j in range(4):
      j = random.randint(97, 122)
      tis.append(chr(j))

a = sum(tis,[])

dict1 = dict.fromkeys(set(a), 0)
for v in a:
    dict1 += 1

Lijingyang 发表于 2022-4-7 23:31:12

ba21 发表于 2022-4-7 23:22


再请问一下有什么更好的方法将二维列表转化为一维列表吗

Lijingyang 发表于 2022-4-7 23:32:33

Lijingyang 发表于 2022-4-7 23:31
再请问一下有什么更好的方法将二维列表转化为一维列表吗

这个代码后半部分没看明白可以解释一下吗

ba21 发表于 2022-4-7 23:34:19

Lijingyang 发表于 2022-4-7 23:31
再请问一下有什么更好的方法将二维列表转化为一维列表吗

+就可以了吧。

ba21 发表于 2022-4-7 23:35:50

Lijingyang 发表于 2022-4-7 23:32
这个代码后半部分没看明白可以解释一下吗

问题 是,你代码中还要转换?直接Append就可以了
import random
tis = []
for i in range(4):
    for j in range(4):
      j = random.randint(97, 122)
      tis.append(chr(j))


dict1 = dict.fromkeys(set(tis), 0)
for v in tis:
    dict1 += 1

Lijingyang 发表于 2022-4-7 23:38:39

ba21 发表于 2022-4-7 23:35
问题 是,你代码中还要转换?直接Append就可以了

不是,我没有搞懂最后三行代码的含义,可以再解释一下吗

ba21 发表于 2022-4-7 23:40:18

Lijingyang 发表于 2022-4-7 23:38
不是,我没有搞懂最后三行代码的含义,可以再解释一下吗

fromkeys(键集合, 初始值) -> 字典

hornwong 发表于 2022-4-7 23:41:45

{:5_95:}

Lijingyang 发表于 2022-4-7 23:44:35

ba21 发表于 2022-4-7 23:40
fromkeys(键集合, 初始值) -> 字典

那最后一行代码了,它为什么能够实现{:5_100:}

Lijingyang 发表于 2022-4-7 23:51:25

Lijingyang 发表于 2022-4-7 23:44
那最后一行代码了,它为什么能够实现

ok,懂了,谢谢
页: [1]
查看完整版本: 如何按照元素出现的频率的高低转为字典