Python字典的操作总结(附示例)


当前第2页 返回上一页

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

from collections import OrderedDict

d = {}

d['Tom']='A'

d['Jack']='B'

d['Leo']='C'

d['Alex']='D'

print('无序字典(dict):')

for k,v in d.items():

    print(k,v)

d1 = OrderedDict()

d1['Tom']='A'

d1['Jack']='B'

d1['Leo']='C'

d1['Alex']='D'

print('\n有序字典(OrderedDict):')

for k,v in d1.items():

    print(k,v)

输出的结果为:

1

2

3

4

5

6

7

8

9

10

无序字典(dict):

Leo C

Jack B

Tom A

Alex D

有序字典(OrderedDict):

Tom A

Jack B

Leo C

Alex D

默认字典collections.defaultdict

??collections.defaultdict是Python内建dict类的一个子类,第一个参数为default_factory属性提供初始值,默认为None。它覆盖一个方法并添加一个可写实例变量。它的其他功能与dict相同,但会为一个不存在的键提供默认值,从而避免KeyError异常。
??我们以统计列表中单词的词频为例,展示collections.defaultdict的优势。
??一般情形下,我们统计列表中的单词词频代码为:

1

2

3

4

5

6

7

8

9

10

words = ['sun', 'moon', 'star', 'star',\

         'star', 'moon', 'sun', 'star']

freq_dict = {}

for word in words:

    if word not in freq_dict.keys():

        freq_dict[word] = 1

    else:

        freq_dict[word] += 1

for key, val in freq_dict.items():

    print(key, val)

输出结果如下:

1

2

3

sun 2

moon 2

star 4

??使用collections.defaultdict,代码可以优化:

1

2

3

4

5

6

7

8

9

10

11

from collections import defaultdict

 

words = ['sun', 'moon', 'star', 'star',\

         'star', 'moon', 'sun', 'star']

 

freq_dict = defaultdict(int)

for word in words:

    freq_dict[word] += 1

 

for key, val in freq_dict.items():

    print(key, val)

其它默认初始值可以为set,list,dict等。

以上就是Python字典的操作总结(附示例)的详细内容,更多文章请关注木庄网络博客!!

返回前面的内容

相关阅读 >>

Python实现给照片换底色(附代码)

Python相关的证书是什么

Python os.dup2() 方法是什么? os.dup2能起到什么作用?

Python简单计算文件md5值的方法示例

Python中pow是什么

Python print 按逗号或空格分隔的方法

Python list是否包含另一个list所有元素

Python数据分析用什么编译器

Python和c++的区别

Python输出hello world代码的方法

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...