猿问

Python中的字典构造

尝试在 Python 中构建一个从给定序列构造字典的函数。


知道字符串是不可变的,并且字典是由key: value对组成的(键是不可变的,而值是可变的),我选择采用给定的序列并扫描字母是否存在(低位和高位),以便将其应用于键并计数它的频率,以便将其应用于适当的值。


到目前为止,我的主要想法如下,高度赞赏支持:


import string


alphabet = string.ascii_letters

sentence = 'Check Sentence'

d = dict()


def dictionary_check(input):

    for i in alphabet:

        if i in input is True:

            #left empty for manipulation

            return

        else:

            return

dictionary_check(sentence)

print(d)

样本输入:'Any string'


输出:{"A":1, "n":2, "y":1, "s":1, "t":1, "r":1, "i":1, "g":1}


慕姐8265434
浏览 104回答 1
1回答

慕哥9229398

像这样的东西:In [474]: from collections import Counter                                                                                                                                                                   In [475]: sentence = 'Check Sentence'                                                                                                                                                                       In [476]: Counter(sentence)                                                                                                                                                                                 Out[476]: Counter({'C': 1,         'h': 1,         'e': 4,         'c': 2,         'k': 1,         ' ': 1,         'S': 1,         'n': 2,         't': 1})上面的Counter对象已经是一个字典。在 OP 发表评论后,这里有一个自定义函数来做同样的事情:In [497]: def construct_dict(text):      ...:     d = {}      ...:     for i in text:      ...:         if i in d:      ...:             d[i] = d[i] + 1      ...:         else:      ...:             d[i] = 1      ...:     return d      ...:                                                                                                                                                                                                   In [498]: construct_dict(sentence)                                                                                                                                                                           Out[498]: {'C': 1, 'h': 1, 'e': 4, 'c': 2, 'k': 1, ' ': 1, 'S': 1, 'n': 2, 't': 1}要删除空格,请执行以下操作:In [507]: construct_dict(sentence.replace(' ',''))                                                                                                                                                           Out[507]: {'C': 1, 'h': 1, 'e': 4, 'c': 2, 'k': 1, 'S': 1, 'n': 2, 't': 1}
随时随地看视频慕课网APP

相关分类

Python
我要回答