python {}.fromkeys创建字典append添加操作列表出错了?,.fromkeysappend,直接上代码:header
python {}.fromkeys创建字典append添加操作列表出错了?,.fromkeysappend,直接上代码:header
直接上代码:
header= {'a', 'c', 'b', 'e', 'f'}
然后根据该序列初始化字典dic1,并设置其值默认格式为list:
dic1={}.fromkeys(header,[])
print dic1
输出:{'a': [], 'c': [], 'b': [], 'e': [], 'f': []}
一切都是对的:
python {}.fromkeys创建字典append添加操作列表出错了?
然后为key为'a'的键更新value:
dic1['a'].append(1)
print dic1
可输出竟然是:
{'a': [1], 'c': [1], 'b': [1], 'e': [1], 'f': [1]}
按道理应该是
{'a': [1], 'c': [], 'b': [], 'e': [], 'f': []}
可是换一种方式:
直接定义字典的话:
dic2={'a': [], 'c': [], 'b': [], 'e': [], 'f': []}
dic2['a'].append(1)
print dic2
输出则是正常的
{'a': [1], 'c': [], 'b': [], 'e': [], 'f': []}
在pydev中对比,两个变量是一模一样的:
这是为什么呢,求大神支招。
编橙之家文章,
相关内容
- python爬取一号店信息的相关问题,python一号,python爬取一
- Python里面如果设置正确的系统编码?,python编码,Pytho
- scrapy框架里面用link extractor怎么能提出下图中的链接,
- Wing IDE如何能同时运行多个代码程序?,wingide,在wing
- 怎么样来计算我用python所需要抓取网站的复杂程度?,
- 怎么才能用python脚本提取网页的验证码?,python验证码
- python3 rsa加密相关的问题要问,python3rsa,google了好久还是
- python中如何更好的地重写__eq__,python重写__eq__,魔法方法
- python bottle搭建http服务post请求时出现405状态码怎么回事
- pyspider默认保存到sqlite数据库的时候是什么编码》,p
评论关闭