1. python字典中如何创建字典
python---创建字典的方式
1、用{}创建字典
代码:
x = {"a":"1", "b":"2"}
print x
输出:
{'a': '1', 'b': '2'}
2、用内置函数dict()
(1)、入参为类似a="1"的键值对
代码:
x = dict(a="1", b="2")
print x
输出:
{'a': '1', 'b': '2'}
(2)、入参为一个元组,元组内部是一系列包含两个值的元组,例如(("a", "1"), ("b", "2"))
代码:
x = dict((("a", "1"), ("b", "2")))
print x
输出
{'a': '1', 'b': '2'}
(3)、入参为一个元组,元组内部是一系列包含两个值的列表,例如(["a", "1"], ["b", "2"])
代码:
x = dict((["a", "1"], ["b", "2"]))
print x
输出:
{'a': '1', 'b': '2'}
(4)、入参为一个列表,列表内部是一系列包含两个值的元组,例如[("a", "1"),("b", "2")]
代码:
x = dict([("a", "1"),("b", "2")])
print x
输出:
{'a': '1', 'b': '2'}
(5)、入参为一个列表,列表内部是一系列包含两个值的列表,例如[["a", "1"],["b", "2"]]
代码:
x = dict([["a", "1"],["b", "2"]])
print x
输出:
{'a': '1', 'b': '2'}
注意:
对于a="1"的方式初始化字典,字典的key只能为字符串,并且字符串不用加引号
对于dict内置函数初始化当入参是一个元组时,例如1)、2),元组内部的两元素元组或者列表至少为两个,否则会出错
3、用户fromkeys方法创建字典
代码:
dict.fromkeys(("a", "b"), 1)
print x
输出:
{'a': 1, 'b': 1}
入参可以的第一个参数是一个列表或者元组,里边的值为key,第二个参数是所有key的value值
2. Python.如何向字典dict里加入内容a
1、创建字典
dict={'d':1,'b':2,'c':3}
2、添加内容a
>>>dict['a']=500
>>>a
{'d':1,'b':2,'c':3,'a':500}‘
python的设计哲学是“优雅”、“明确”、“简单”。因此,Perl语言中“总是有多种方法来做同一件事”的理念在Python开发者中通常是难以忍受的。
Python开发者的哲学是“用一种方法,最好是只有一种方法来做一件事”。在设计Python语言时,如果面临多种选择,Python开发者一般会拒绝花俏的语法,而选择明确的没有或者很少有歧义的语法。
由于这种设计观念的差异,Python源代码通常被认为比Perl具备更好的可读性,并且能够支撑大规模的软件开发。这些准则被称为Python格言。在Python解释器内运行import this可以获得完整的列表。
(2)python字典初始化追加扩展阅读:
PYTHON的特点
Python开发人员尽量避开不成熟或者不重要的优化。一些针对非重要部位的加快运行速度的补丁通常不会被合并到Python内。
所以很多人认为Python很慢。不过,根据二八定律,大多数程序对速度要求不高。在某些对运行速度要求很高的情况,Python设计师倾向于使用JIT技术,或者用使用C/C++语言改写这部分程序。可用的JIT技术是PyPy。
Python是完全面向对象的语言。函数、模块、数字、字符串都是对象。并且完全支持继承、重载、派生、多继承,有益于增强源代码的复用性。
Python支持重载运算符和动态类型。相对于Lisp这种传统的函数式编程语言,Python对函数式设计只提供了有限的支持。有两个标准库(functools, itertools)提供了Haskell和Standard ML中久经考验的函数式程序设计工具。
虽然Python可能被粗略地分类为“脚本语言”(script language),但实际上一些大规模软件开发计划例如Zope、Mnet及BitTorrent,Google也广泛地使用它。
Python的支持者较喜欢称它为一种高级动态编程语言,原因是“脚本语言”泛指仅作简单程序设计任务的语言,如shellscript、VBScript等只能处理简单任务的编程语言,并不能与Python相提并论。
Python本身被设计为可扩充的。并非所有的特性和功能都集成到语言核心。Python提供了丰富的API和工具,以便程序员能够轻松地使用C语言、C++、Cython来编写扩充模块。Python编译器本身也可以被集成到其它需要脚本语言的程序内。
因此,很多人还把Python作为一种“胶水语言”(glue language)使用。使用Python将其他语言编写的程序进行集成和封装。在Google内部的很多项目,例如Google Engine使用C++编写性能要求极高的部分,然后用Python或Java/Go调用相应的模块。
《Python技术手册》的作者马特利(Alex Martelli)说:“这很难讲,不过,2004 年,Python 已在Google内部使用,Google 召募许多 Python 高手,但在这之前就已决定使用Python,他们的目的是 Python where we can, C++ where we must,在操控硬件的场合使用 C++,在快速开发时候使用 Python。”
参考资料:python-语言参考
3. python 字典 怎样增加一个元素
>>> a=['one','two','three']>>> b={}>>> [b.setdefault(x,y) for x,y in enumerate(a)]['one', 'two', 'three']>>> b{0: 'one', 1: 'two', 2: 'three'}>>>
4. python 字典怎么追加键值
注释行的结果就是程序运行的结果,如果你是python3,将print test_t改为print (test_t)即可
5. Python字典键值对的添加和遍历
添加键值对
首先定义一个空字典
>>> dic={}
直接对字典中不存在的key进行赋值来添加
>>> dic['name']='zhangsan'
>>> dic
{'name': 'zhangsan'}
如果key或value都是变量也可以用这种方法
>>> key='age'
>>> value=30
>>> dic[key]=value
>>> dic
{'age': 30. 'name': 'zhangsan'}
这里可以看到字典中的数据并不是按先后顺序排列的,如果有兴趣,可以搜一搜数据结构中的——哈希表
从python3.7开始,字典按照插入顺序,实现了有序。修改一个已存在的key的值,不影响顺序,如果删了一个key后再添加该key,该key会被添加至末尾。标准json库的mp(s)/load(s)也是有序的
还可以用字典的setdefault方法
>>> dic.setdefault('sex','male')
'male'
>>> key='id'
>>> value='001'
>>> dic.setdefault(key,value)
'001'
>>> dic
{'id': '001', 'age': 30. 'name': 'zhangsan', 'sex': 'male'}
6. python 怎么给字典添加一对值
如果只是添加一次,
>>>
l
=
['01',
'张三']
>>>
dic
=
{}
>>>
dic[l[0]]
=
l[1]
如果有大量的这种二元列表要添加到字典中,那么
>>>
data
=
[['01',
'张三'],
['02',
'李四'],
['03',
'None']]
>>>
dic
=
dict(data)
输入
>>>help(dict)
可以看到如下解释:
dict(iterable)
->
new
dictionary
initialized
as
if
via:
|
d
=
{}
|
for
k,
v
in
iterable:
|
d[k]
=
v
传入参数是二元可迭代对象(二元元组、列表等)时,形成对应键值对
7. python如何将列表中的元素添加进字典
字典是一种hash表,即有key,和key键对应下的value
比如说我要初始化一个字典
phonebook={'Alice':'3241','Beth':'9274','Ceil':'3258'}
这样这本字典就有三对项,分别有键(key)和对应的值(value)组成
比如这里Alice,Beth,Ceil都是key
对应的value则分别为3241,9274,3258
key和value之间用冒号(:)隔开,项之间用逗号(,)隔开,整个字典由一对大括号括起来。
比如你要查询beth的电话号码,就可以用这条语句:
print phonebook['Beth']
结果则为9274
现在对字典的基本概念熟悉了吧?!
然后回答下你这个问题。
你要把列表中的元素添加到字典中,那么必须提供key值或value来和d中的{'a','b','c'}对应。
一楼就是其中一个解法,不过有些瑕疵,正确的应该是:
a=dict(zip(d, ['']*3))
a的值即为{'a':'', 'b':'', 'c':''}
此时列表中的元素a,b,c作为key,value的值我们暂定为空