day②:字典的fromkeys方法

start

##fromkeys方法本身就是把所有的key都指向同一个对象了

>>> c=dict.fromkeys(range(5),[])

>>> c

{0: [], 1: [], 2: [], 3: [], 4: []}

>>> c[0].append({"B":{123}})

>>> c

{0: [{‘B‘: set([123])}], 1: [{‘B‘: set([123])}], 2: [{‘B‘: set([123])}], 3: [{‘B‘: set([123])}], 4: [{‘B‘: set([123])}]}

>>> c[0].append(1)

>>> c

{0: [{‘B‘: set([123])}, 1], 1: [{‘B‘: set([123])}, 1], 2: [{‘B‘: set([123])}, 1], 3: [{‘B‘: set([123])}, 1], 4: [{‘B‘: set([123])}, 1]}

##怎么解决我只想修改c[0]里面的值value呢?

解决:先指向另一个列表对象

>>> c=c.fromkeys(range(5),[])

>>> c

{0: [], 1: [], 2: [], 3: [], 4: []}

>>> c[0]=[]

>>> c[0].append({"B":{123}})

>>> c

{0: [{‘B‘: set([123])}], 1: [], 2: [], 3: [], 4: []}

>>> c[0].append(1)

>>> c

{0: [{‘B‘: set([123])}, 1], 1: [], 2: [], 3: [], 4: []}

>>>

##直接定义字典

>>> b={0: [], 1: [], 2: [], 3: [], 4: []}

>>> b[0].append({"B":{123}})

>>> b

{0: [{‘B‘: set([123])}], 1: [], 2: [], 3: [], 4: []}

>>> b[0].append(1)

>>> b

{0: [{‘B‘: set([123])}, 1], 1: [], 2: [], 3: [], 4: []}

##不用fromkeys生成一个大字典的办法

>>> c={}

>>> c

{}

>>> for i in range(5):

...     c[i]=[]

...

>>> c

{0: [], 1: [], 2: [], 3: [], 4: []}

end

来自为知笔记(Wiz)

时间: 2024-08-25 11:35:36

day②:字典的fromkeys方法的相关文章

Python——字典的fromkeys方法创建的初始value同内存地址问题

dict中的fromkeys()函数可以通过一个list来创建一个用同一初始value的dict. 1 d = dict.fromkeys(["苹果", "菠萝"], ['apple', 'pineapple']) 2 print(d) 3 d.get("苹果").append('orange') 4 print(d) {'苹果': ['apple', 'pineapple'], '菠萝': ['apple', 'pineapple']}{'苹果

python字典fromkeys()方法中的坑

自定操作中的fromkeys()方法接收两个参数,第一个参数为一个可迭代对象,作为返回字典的key,第二个参数为value,默认为None,具体用法如下: li = [1,2,3] dic1 = dict.fromkeys(li) dic2 = dict.fromkeys(li,[]) print(dic1) # {1: None, 2: None, 3: None} print(dic2) # {1: [], 2: [], 3: []} 此时我为dic2中key为1的列表增加一个元素'test

Python字典高级使用方法汇总

Python字典高级使用方法汇总 字典(dictionary)是python中的一种非常灵活和强大的数据结构,可以完成很多操作.本文总结了一些除了基本的初始化.赋值.取值之外的常用的字典使用方法. 字典基础参考: [1]:http://www.w3cschool.cc/python/python-dictionary.html [2]:http://www.111cn.net/phper/python/56355.htm [3]:http://skyfen.iteye.com/blog/5675

oc中字典的实现方法详解

一:字典的基本概念 Foundation中的字典(NSDictionary,NSMutableDictionary)是由键-值对组成的数据集合.正如,我们在字典里查找单词的定义一样. 通过key(键),查找的对应的value(值),key通常是字符串对象,也可以是其他任意类型对象.在一个字典对象中,key的值必须是唯一的. 此外,字典对象的键和值不可以为空(nil),如果需要在字典中加入一个空值,可以加入NSNull对象 二:不可变字典-NSDictionary 1:初始化(以一个元素和多个元素

黑马程序员_学习IOS之字典常用的方法

字典是无序的 数组是有序的.字典分为:可变字典和不可变字典  不可变字典对象 NSDictionary * dict = [[NSDictionary alloc]initWithObjectsAndKeys:@"one",@"1",@"two",@"2",@"three",@"3",@"four",@"4", nil]; //value = ke

Python学习之旅—Day06(字符串+字典+列表重点方法)

前言: 本篇博客主要针对字符串,字典和列表中的一些容易忽略的重点方法进行整理,以期进一步夯实大家的基础. [001]字符串方法--isspace()方法 isspace()方法主要检测字符串是否只由空格组成.我们通过如下的实际例子来查看该方法: str1 = " " print(str1.isspace()) str2 = "cisco 123" print(str2.isspace()) str3 = " #" print(str2.isspa

python 字典(dict)get方法应用

如果我们需要获取字典值的话,我们有两种方法,一个是通过dict['key'],另外一个就是dict.get()方法. 今天给大家分享的就是字典的get()方法. 这里我们可以用字典做一个小游戏,假设用户在终端输入字符串:"1"或者是"2"或者是"3",返回对应的内容,如果是输入其他的,则返回"error" 这里有的朋友可能会用if elif else判断语句来操作,确实可以,但是比较繁琐.给大家推荐一个字典的get()方法非常

python 字典的使用方法

python字典的使用方法 简单说下python字典和数组.元组的命名区别 字典使用大括号来命名"{}",数组使用中括号来命名"[]",元组使用小括号来命名"()" 命名方法: #定义词典dic_name >>> dic_name = {'Ipad': 3599, 'Car': 250000, 'Coffee': 35, 'Iphone': 4999, 'pen': 5} #查看定义的词典内容 >>> dic_

Python 字典(Dictionary) update()方法

Python 字典(Dictionary) update()方法 描述: Python 字典(Dictionary) update() 函数把字典dict2的键/值对更新到dict里. 语法: update()方法语法: dict.update(dict2) 参数: dict2 -- 添加到指定字典dict里的字典. 返回值: 该方法没有任何返回值. 实例: 以下实例展示了 update()函数的使用方法: #!/usr/bin/python dict = {'Name': 'Zara', 'A