python构造字典(python字典中如何创建字典)

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中的字典是什么

字典(Dictionary)

字典也是Python语言中经常使用的一种数据类型。跟列表类似,字典是另外一种可存储任意类型的数据,并且字典储存的数据也是可以修改的。

不同于列表的是,字典每个基本元素都包括两个部分:键(key) 和 键对应的值(value)。

键和值之间用冒号(:)分割,每对元素之间用逗号(,)分割,整个字典的数据在大括号{}中,格式如下所示:

请点击输入图片描述

d = {"key1" : 1, "key2" : "hi", "key3":[]}

在字典中,键的内容是不可重复的。 键为不可变数据类型,值可以是任何数据类型。在这里,键只支持 字符串类型。

请点击输入图片描述

请点击输入图片描述

字典最大的优势就是能在海量数据下利用“键”快速查找出想要的值, 当有很多数据需要存储的时候,我们给每个值都打个标签,也就是“键”;想要调用这个值时,字典能够利用这个标签快速帮我们找到它。但是如果标签重复了,字典不知道哪个值才是对的,就会报错哦~

列表是根据排序来记录每项的值,但是字典是没有顺序的,所以同一字典,每次打印出的排序可能是不同的。“键”才是调用字典的关键元素。

字典是基础的数据类型,所以变量也可以被赋值为字典。

请点击输入图片描述

请点击输入图片描述

可以直接用大括号{},或者内置函数dict() 创建空字典:

Dict={}Dict=dict() #dict()是一个内置函数,可以用来快速创建空字典。#注意是小写开头的dict,创建变量名或者函数名要避免和内置函数dict重名哦~

控制中的遍历积木,不仅可以遍历序列、列表,还可以遍历字典

请点击输入图片描述

3.Python中创建字典的几种方法总结

1.传统的文字表达式:

>>> d={'name':'Allen','age':21,'gender':'male'}

>>> d

{'age': 21, 'name': 'Allen', 'gender': 'male'}

如果你可以事先拼出整个字典,这种方式是很方便的。

2.动态分配键值:

>>> d={}

>>> d['name']='Allen'

>>> d['age']=21

>>> d['gender']='male'

>>> d

{'age': 21, 'name': 'Allen', 'gender': 'male'}

如果你需要一次动态地建立一个字典的一个字段,那么这种方式比较合适。

字典与列表不同,不能通过偏移量进行复制,只能通过键来读取或赋值,所以也可以这样为字典赋值,当然访问不存在的键会报错:

>>> d[1]='abcd'

>>> d

{1: 'abcd', 'age': 21, 'name': 'Allen', 'gender': 'male'}

>>> d[2]

Traceback (most recent call last):

File "<pyshell#9>", line 1, in <module>d[2]

KeyError: 212345678

3.字典键值表

>>> c = dict(name='Allen', age=14, gender='male')

>>> c

{'gender': 'male', 'name': 'Allen', 'age': 14}

因为这种形式语法简单,不易出错,所以非常流行。

这种形式所需的代码比常量少,但是键必须都是字符串才行,所以下列代码会报错:

>>> c = dict(name='Allen', age=14, gender='male', 1='abcd')

SyntaxError: keyword can't be an expression

4.字典键值元组表

>>> e=dict([('name','Allen'),('age',21),('gender','male')])

>>> e

{'age': 21, 'name': 'Allen', 'gender': 'male'}

如果你需要在程序运行时把键和值逐步建成序列,那么这种方式比较有用。

5.所有键的值都相同或者赋予初始值:

>>> f=dict.fromkeys(['height','weight'],'normal')

>>> f

{'weight': 'normal', 'height': 'normal'}

4.python字典列表和列表字典

最本质的区别:第一种方法得出的a是列表,而第二种的a是字典 用python语句表达来看就是: 1.type(a) == list 2.type(a) == dict 在交互式界面下显示: 第一种: >>> a [{'name':'fokil'}] 此时a是一个列表,他具有列表的一切方法和属性,但不具备任何字典的方法和属性。

列表可以有N个元素,元素的类型是任意的,与列表本身无关。而此时的a有一个元素,该元素是一个字典——但这并不代表整个列表a带有任何字典的性质。

明白? 第二种: >>> a {'name':['fokil']} 同上,此时a是一个字典,具有字典的一切方法和属性,但不具备任何列表的方法和属性。字典可以有N个元素,每个元素由一对key和内容的组合构成。

key可以是任何单一对象的类型(不能是列表或字典——但可以是元组。当然,还可以是数字、字符/字符串,甚至是文件对象),而key对应的内容则可以是任意类型的。

在此时,a中只有一个元素,key是一个字符串,而内容则是一个含有一个字符串元素的列表——同样,这不意味着a具有任何的列表性质 总而言之,严格的讲:没有“字典列表”或“列表字典”这种概念 只有一个列表,他包含的元素的类型是字典——当然,列表中的元素可以是不同类型的,譬如: a = [1, 'test', [2,3,4], {'name':'fokil'}] 同理,只有一个字典,他包含的元素中的一部分是列表(当然,key部分不可能是列表)。当然,也有可能是不同类型的元素: a = {1:'b',(1,2,3):[4,5,6],'test':{'test2':['test3']}}。

5.python 提取特定字符所在的行,并构建字典

import re

testfile=open(r"test.txt")

teststr=testfile.read()

teststr+="\n>"

testdict={}

reg=re.compile(r"^\s*>(.+?)$(.+?)(?=(^\s*>))",re.M+re.S)

matchs=reg.finditer(teststr)

for match in matchs:

key=match.group(1)

value=match.group(2)

testdict[key]=value

print testdict以上代码假设数据是存储在文件test.txt中的,最后打印出来的字典 testdict 符合要求吧

6.一个python字典功能的程序

竟然一分都没有-。-!

你这个字典每次程序运行就重新加载,当然啥都米了。

pickle这个模块是让你把字典存在file中,也就是硬盘文件中的固定文件里,你是怎么用的啊?

import pickle as p

p.dump('yourdict','yourfile')#将字典存入文件中

p.load('yourfile')#将字典从文件中取出

------------------

这样都搞不定的话,你得+点分,我再讲。。喝口水先

++++++++++++++++++++++++++++

哎,可怜的娃啊。。

还得手把手教。

你先另外重开个程序,这样写:

import pickle as p

str={"朋友":"friend",

"一":"one",

"女人":"woman",

"男人":"man",

}

p.dump(str,open('D:/temp.dict','w'))

运行一遍,你看看你的D盘下是不是多了个temp.dict文件,有的话:

在你的程序中把

str={"朋友":"friend",

"一":"one",

"女人":"woman",

"男人":"man",

}

这句改成:

import pickle as p

str = p.load(open('D:/temp.dict','r'))

在while结束后+一句:

p.dump(str,open('D:/temp.dict','w'))

搞定。。。

python构造字典

转载请注明出处编程代码网 » python构造字典(python字典中如何创建字典)

资讯

python元组排序(Python3,怎么按指定元组顺序将列表排序)

阅读(21)

本文主要为您介绍python元组排序,内容包括Python3,怎么按指定元组顺序将列表排序,python元组中有字典,如何对其进行排序谢谢,如何在python中对tuple排序。在Python中可以使用sorted函数对list进行排序,但是如果排序的对象是一个包含tuple的l

资讯

Python类虚函数(类中snip是什么python)

阅读(50)

本文主要为您介绍Python类虚函数,内容包括python怎样调用基类函数,python中的析构函数多继承时为什么只析构自己,对于父类不会被析构,python类中类方法和类实例有什么区别。snip 的英文原意是削减,剪去的意思。在Python 中,snip 就是代表省略

资讯

python运行指定文件(如何用Python打开指定的某个文件夹)

阅读(50)

本文主要为您介绍python运行指定文件,内容包括如何用Python打开指定的某个文件夹比如我要用Python打开D盘里,python中,如何用指定的程序打开指定的文件,比如在windows下,用,怎么在Python进入指定文件夹。操作系统一般不允许程序直接操作磁

资讯

python处理中文字符串(Python3.5如何对中文字符串进行处理)

阅读(46)

本文主要为您介绍python处理中文字符串,内容包括Python3.5如何对中文字符串进行处理,请问python怎么可以很好的处理中文字符,python处理中文字符串用什么编码方式。在Python的string前面加上r, 是为了告诉编译器这个string是个raw string,不

资讯

macpythonbs4(mac版python怎么安装beautifulsoup)

阅读(22)

本文主要为您介绍macpythonbs4,内容包括在mac上自己安装了python3.4,怎么安装各种库,mac版python怎么安装beautifulsoup,如何在MAC系统下的python中导入第三方库,如lxml和requests搜狗。安装pythonsudo rm -rf /System/Library/Frameworks/

资讯

base64pythonhex(base64.decodestringpython怎么实现)

阅读(20)

本文主要为您介绍base64pythonhex,内容包括Python怎么能简单实现Base64编码和解码,Python怎么能简单实现Base64编码和解码,pythonbase64在哪个模块。Base64编码是一种“防君子不防小人”的编码方式。广泛应用于MIME协议,作为电子邮件的传输

资讯

python布尔取反(将布尔型取反的函数是什么)

阅读(23)

本文主要为您介绍python布尔取反,内容包括将布尔型取反的函数是什么,在python中为什么不能对字符取反,变量show是布尔型的,这里取反怎么错了。如果T为布尔型,则取反的函数是 NOT T。布尔型的值只有两个:false(假)和true(真)。false的序号为0,true

资讯

gopython速度(gopython不知道选哪个)

阅读(20)

本文主要为您介绍gopython速度,内容包括gopython不知道选哪个,golangVSpython性能谁更强,gopython不知道选哪个。我感觉还是python+c比较好。就我身边的人来看,得出如下观点:c++:学一样可以解决任何问题,就是学习的成本太高,时间脑力不够学不好

资讯

pythonasic(python中**是什么意思)

阅读(39)

本文主要为您介绍pythonasic,内容包括python中global的作用是什么,pythonflag什么意思,python中**是什么意思。** 在python里面表示幂运算传递实参和定义形参(所谓实参就是调用函数时传入的参数,形参则是定义函数是定义的参数)的时候,你还可以

资讯

pythontkinter输出(Python3tkinter窗口中如何输入和输出)

阅读(41)

本文主要为您介绍pythontkinter输出,内容包括Python3tkinter窗口中如何输入和输出,PythonTkinter如何将结果输出反应在窗口上,就比如我运算后得到一,请问python的tkinter中的entry的内容怎么输出为txt。意思就是你要将你输入的内容进行翻译

资讯

python元组排序(Python3,怎么按指定元组顺序将列表排序)

阅读(21)

本文主要为您介绍python元组排序,内容包括Python3,怎么按指定元组顺序将列表排序,python元组中有字典,如何对其进行排序谢谢,如何在python中对tuple排序。在Python中可以使用sorted函数对list进行排序,但是如果排序的对象是一个包含tuple的l

资讯

Python类虚函数(类中snip是什么python)

阅读(50)

本文主要为您介绍Python类虚函数,内容包括python怎样调用基类函数,python中的析构函数多继承时为什么只析构自己,对于父类不会被析构,python类中类方法和类实例有什么区别。snip 的英文原意是削减,剪去的意思。在Python 中,snip 就是代表省略

资讯

python运行指定文件(如何用Python打开指定的某个文件夹)

阅读(50)

本文主要为您介绍python运行指定文件,内容包括如何用Python打开指定的某个文件夹比如我要用Python打开D盘里,python中,如何用指定的程序打开指定的文件,比如在windows下,用,怎么在Python进入指定文件夹。操作系统一般不允许程序直接操作磁

资讯

python处理中文字符串(Python3.5如何对中文字符串进行处理)

阅读(46)

本文主要为您介绍python处理中文字符串,内容包括Python3.5如何对中文字符串进行处理,请问python怎么可以很好的处理中文字符,python处理中文字符串用什么编码方式。在Python的string前面加上r, 是为了告诉编译器这个string是个raw string,不

资讯

python能干什么知乎(java工程师一般用python做什么知乎)

阅读(51)

本文主要为您介绍python能干什么知乎,内容包括python可以做什么知乎,python可以做什么知乎,java工程师一般用python做什么知乎。#做网站后台Python在网站后台这边有大量的成熟的框架,如django,flask,bottle,tornado,我曾经用过flask