Python中创建字典的几种方法总结(推荐)

yipeiwu_com6年前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: 2

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'}

以上这篇Python中创建字典的几种方法总结(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python 读取用户指令和格式化打印实现解析

Python 读取用户指令和格式化打印实现解析

一、读取用户指令 当你的程序要接收用户输入的指令时,可以用input函数: name = input("请输入你的名字:") print("Hi " + name) 程序中只要...

python实现的jpg格式图片修复代码

最近为客户修复损坏的jpg写的,效果还可以,但不保证适用任何情况。 如果你有损坏照片,不妨试一试,如果可以使用给我留个言哦。 复制代码 代码如下: # -*- coding: utf8...

python:按行读入,排序然后输出的方法

题目描述 给定n个字符串,请对n个字符串按照字典序排列。 输入描述: 输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。...

Django 限制用户访问频率的中间件的实现

一、定义限制访问频率的中间件 common/middleware.py import time from django.utils.deprecation import Mid...

python线程池threadpool使用篇

最近在做一个视频设备管理的项目,设备包括(摄像机,DVR,NVR等),包括设备信息补全,设备状态推送,设备流地址推送等,如果同时导入的设备数量较多,如果使用单线程进行设备检测,那么由于设...