setdefault和defaultdict

setdefault和defaultdict

#setdefault
periodic_table = {‘Hydrogen‘: 1, ‘Helium‘: 2}
carbon = periodic_table.setdefault(‘Carbon‘, 12)
print(carbon)
print(periodic_table)
helium = periodic_table.setdefault(‘Helium‘, 947)
print(helium)
print(periodic_table)

#defaultdict
print(int())
from collections import defaultdict
periodic_table2 = defaultdict(int)
periodic_table2[‘Hydrogen‘] = 1
print(periodic_table2[‘Lead‘])
print(periodic_table2)
def no_idea():
    return ‘Hub?‘
bestiary = defaultdict(no_idea)
bestiary[‘A‘] = ‘Abominable Snowman‘
print(bestiary[‘B‘])

输出

12
{‘Carbon‘: 12, ‘Helium‘: 2, ‘Hydrogen‘: 1}
2
{‘Carbon‘: 12, ‘Helium‘: 2, ‘Hydrogen‘: 1}
0
0
defaultdict(<class ‘int‘>, {‘Lead‘: 0, ‘Hydrogen‘: 1})
Hub?

pprint

itertools

import itertools

count = 0
for item in itertools.chain([1, 2, 3], [‘a‘, ‘b‘]):
    count += 1
    print(‘count‘, count)
    print(item)

print(‘-------------‘)
count = 0
for item in itertools.cycle([1, 2]):
    count += 1
    print(‘count‘, count)
    if count < 5:
        print(item)
    else:
        break

print(‘-------------‘)
#累积的值,默认累积和
for item in itertools.accumulate([1, 2, 3, 4]):
    print(item)

print(‘-------------‘)
def multiply(a, b):
    return a * b

for item in itertools.accumulate([1, 2, 3, 4], multiply):
    print(item)

输出

count 1
1
count 2
2
count 3
3
count 4
a
count 5
b
-------------
count 1
1
count 2
2
count 3
1
count 4
2
count 5
-------------
1
3
6
10
-------------
1
2
6
24
时间: 2024-12-28 00:06:49

setdefault和defaultdict的相关文章

三种方法实现统计一个句子中的字母数 (setdefault、defaultdict的使用)

最常见的方法,构建一个字典,对于句子中出现的字母,如果是首次出现,则值置为1,后后面再出现就加1. def letter_frequency_1(sentence): frequencies={} for letter in sentence: if letter not in frequencies: frequencies[letter]=1 else: frequencies[letter]+=1 return frequencies 对于setdefault方法,如果键在字典中,该方法的

Python之列表转字典:setdefault、defaultdict、fromkeys

setdefault result = {} data = [("p", 1), ("p", 2), ("p", 3), ("h", 1), ("h", 2), ("h", 3)] for (key, value) in data: result.setdefault(key, []).append(value) print(result) # {'p': [1, 2, 3], 'h':

第七章 Python 盒子:模块、包和程序

前戏部分 独立的程序 命令行参数 模块和import语句 导入模块 使用别名导入模块 导入模块的一部分 模块搜索路径 包 setdefault() 和 defaultdict()处理缺失的键 使用counter()计数 使用有序字典 OrderedDict按键排序 双端序列:栈和队列 使用 itertools 迭代代码结构 使用 pprint()友好输出

day1:python容器

python中的容器有:列表.元组.字典和集合 列表 #使用[] 或list() 创建列表 num_list=list([1,2,3,4,5]) name_list=["Jack","Michael","Kangkang"] print(num_list,name_list) #使用list()将其他数据类型转换为列表 #将一个字符串转换成由单个字母组成的列表 li=list("cat dog") print(li) #将一个

Python 常用模块(1) -- collections模块,time模块,random模块,os模块,sys模块

主要内容: 一. 模块的简单认识 二. collections模块 三. time时间模块 四. random模块 五. os模块 六. sys模块 一. 模块的简单认识 模块: 模块就是把装有特定功能的代码进行归类的结果引入模块的方式: (1) import 模块 (2) from 位置 import 模块 二. collections模块 collections模块主要封装了一些关于集合类的相关操作. 如我们学过的iterable,iterator等等.除此以外, collections还提

Python collections.defaultdict() 与 dict的使用和区别

在Python里面有一个模块collections,解释是数据类型容器模块.这里面有一个collections.defaultdict()经常被用到.主要说说这个东西. 综述: 这里的defaultdict(function_factory)构建的是一个类似dictionary的对象,其中keys的值,自行确定赋值,但是values的类型,是function_factory的类实例,而且具有默认值.比如default(int)则创建一个类似dictionary对象,里面任何的values都是in

关于python的defaultdict

原文地址:http://www.cnblogs.com/herbert/archive/2013/01/09/2852843.html 作者首先看了看defaultdict的help解释,作者看了解释并且把英文翻译出来后,发现还是看不懂. 后面直接通过看示例看明白的.发现作者是挺风趣幽默的. 下面贴出,defaultdict() , setdefault和普通的 {} 代码 defaultdict和setdefault相比较,defaultdict的效率会高一些. 而普通的{}只能做赋值操作(因

[转载]Python 3 collections.defaultdict() 与 dict的使用和区别

文章转自: http://www.cnblogs.com/herbert/archive/2013/01/09/2852843.html Python 3 collections.defaultdict() 与 dict的使用和区别 在Python里面有一个模块collections,解释是数据类型容器模块.这里面有一个collections.defaultdict()经常被用到.主要说说这个东西. 综述: 这里的defaultdict(function_factory)构建的是一个类似dict

python:学习defaultdict,namedtuple

# -*- coding: utf-8 -*-__author__ = 'Administrator'import bisect#排序说明:http://en.wikipedia.org/wiki/insertion_sort#简化一些操作#1:删减外部调用,降低工作负载"""说明:程序复杂度的另一部分是调用其他函数,方法和类所引入的,一般来说,应该尽量将代码放在循环之外,对于嵌套的循环这点更加重要,不要在一个循环中反复计算可以在循环开始之前计算数值,内循环应该保持简洁.&q