字典

  • 能将相关信息关联起来
  • 可存储的信息几乎不受限制
# 案例1
alien_0 = {'color':'green','points':5}
print(alien_0['color'])
print(alien_0['points'])
green
5

使用字典

  • 字典是一系列键–值对,每个键与一个值相关联。
  • 用键来访问相关联的值,与键相关联的值可以是数字、字符串、列表、字典
  • 可将任何python对象用作字典中的值
  • 使用:
    • 字典放在花括号中{},一系列键值对表示
    • 键–值对是两个相关联的值,指定键时,返回与之相关联的值
    • 键和值之间用冒号分隔,键–值对之间用逗号分隔
    • 在字典中包含任意数量的键–值对

访问字典中的值

  • 获取与键相关联的值,依次指定字典名和放在方括号内的键
alien_0 = {'color':'green'}
print(alien_0['color'])
green
alien_0 = {'color':'green','points':5}
new_points = alien_0['points']
print("You just earned " + str(new_points) + "points!")
You just earned 5points!

添加键–值对

  • 字典是一种动态结构,可随时在其中添加键–值对,依次指定字典名、用方括号括起的键和相关联的值
alien_0 = {'color':'green','points':5}
print(alien_0)
alien_0['x'] = 0
alien_0['y'] = 23
print(alien_0)
{'color': 'green', 'points': 5}
{'color': 'green', 'points': 5, 'x': 0, 'y': 23}

创建一个空字典

  • 在空字典中添加键–值对更方便
  • 使用一对空的花括号,再分行添加各个键–值对
alien_0 = {}
alien_0['color'] = 'green'
alien_0['points'] = 5 print(alien_0)
{'color': 'green', 'points': 5}

修改字典中的值

  • 依次指定字典名、用方括号括起的键以及该键相关联的新值
alien_0 = {'color':'green'}
print("The alien is " + alien_0['color'] + ".")
alien_0['color'] = 'yellow'
print("The alien is now " + alien_0['color'] + ".")
The alien is green.
The alien is now yellow.
alien_0 = {'x_position': 0,'y_position': 25,'speed': 'medium'}
print("Original x_position: " + str(alien_0['x_position'])) if alien_0['speed'] == 'slow':
x_increment = 1
elif alien_0['speed'] == 'medium':
x_increment =2
else:
x_increment =3
# 新位置等于老位置加上增量
alien_0['x_position'] = alien_0['x_position'] + x_increment
print("New x-position: " + str(alien_0['x_position']))
Original x_position: 0
New x-position: 2

删除键–值对

  • 对于字典中不再需要的信息,可使用del语句将相应的键–值对彻底删除
  • 使用del语句时,必须指定字典名和要删除的键
  • 删除的键–值对永远消失
alien_0 = {'color': 'green','points':5}
print(alien_0) del alien_0['points']
print(alien_0)
{'color': 'green', 'points': 5}
{'color': 'green'}

由对象组成字典

  • 对于较长的列表和字典,大多数编辑器都有以类似方式设置其格式的功能。对于较长的字典,还有其他一些可行的格式设置方式,因此在你的编辑器或其他源代码中,你可能会看到稍微不同的格式设置方式。
favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil':'python'
}
print("Sarah's favorite language is " +
favorite_languages['sarah'].title() +
".")
Sarah's favorite language is C.

练习

# 1.人
#使用一个字典来存储一个熟人的信息,包括名、姓、年龄和居住的城市。
#该字典应包含键 first_name 、 last_name 、 age 和 city 。将存储在该字典中
#的每项信息都打印出来。
people = {
'first_name': 'li',
'last_name': 'yege',
'age': '23',
'city': 'Beijing'
}
print("姓:" + people['first_name'])
print("名:" + people['last_name'])
print("年龄:" + people['age'])
print("城市:" + people['city'])
姓:li
名:yege
年龄:23
城市:Beijing
# 2.喜欢的数字
#使用一个字典来存储一些人喜欢的数字。请想出 5 个人的名字,并将这些名字用作字典
#中的键;想出每个人喜欢的一个数字,并将这些数字作为值存储在字典中。
#打印每个人的名字和喜欢的数字。为让这个程序更有趣,通过询问朋友确保数据是真实的。
numbers = {
'zhangsan': 6,
'lisi': 8,
'wangmazi': 100,
'yegeli': 8888,
'wangdana': 6666
}
print("zhangsan favorite number is " + str(numbers['zhangsan']))
print("lisi favorite number is " + str(numbers['lisi']))
print("wangmazi favorite number is " + str(numbers['wangmazi']))
print("yegeli favorite number is " + str(numbers['yegeli']))
print("wangdana favorite number is " + str(numbers['wangdana']))
zhangsan favorite number is 6
lisi favorite number is 8
wangmazi favorite number is 100
yegeli favorite number is 8888
wangdana favorite number is 6666
# 3.词汇表
# Python 字典可用于模拟现实生活中的字典,但为避免混淆,我们将后者称为词汇表。
# 想出你在前面学过的 5 个编程词汇,将它们用作词汇表中的键,并将它们的含义作为值存储在词汇表中。
# 以整洁的方式打印每个词汇及其含义。为此,你可以先打印词汇,在它后面加上一个冒号,再打印词汇的含义;也可在一行打印词汇,再使用换行符( \n )插
# 入一个空行,然后在下一行以缩进的方式打印词汇的含义。
words = {
'title': '首字母大写',
'upper': '所有字母大写',
'lower': '所有字母小写',
'append': '列表尾部插入一元素',
'pop': '列表中删除一元素'
}
word = 'title'
print("\n" + word.title() + "的含义是:" + words['title'] + ".")
word = 'upper'
print("\n" + word.upper() + "的含义是:" + words['upper'] + ".")
word = 'lower'
print("\n" + word.lower() + "的含义是:" + words['lower'] + ".")
word = 'append'
print("\n" + word.title() + "的含义是:" + words['append'] + ".")
word = 'pop'
print("\n" + word.title() + "的含义是:" + words['pop'] + ".")
Title的含义是:首字母大写.

UPPER的含义是:所有字母大写.

lower的含义是:所有字母小写.

Append的含义是:列表尾部插入一元素.

Pop的含义是:列表中删除一元素.

Python 字典定义的更多相关文章

  1. python字典中的元素类型

    python字典默认的是string item={"browser " : 'webdriver.irefox()', 'url' : 'http://xxx.com'} 如果这样 ...

  2. python字典的常用操作方法

    Python字典是另一种可变容器模型(无序),且可存储任意类型对象,如字符串.数字.元组等其他容器模型.本文章主要介绍Python中字典(Dict)的详解操作方法,包含创建.访问.删除.其它操作等,需 ...

  3. Python 字典(Dictionary)操作详解

    Python 字典(Dictionary)的详细操作方法. Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字 ...

  4. python字典操作

    Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型.一.创建字典字典由键和对应值成对组成.字典也被称作关联数组或哈希表.基本语法如下: 代码如下: dict ...

  5. !!Python字典增删操作技巧简述+Python字典嵌套字典与排序

    http://developer.51cto.com/art/201003/186006.htm Python编程语言是一款比较容易学习的计算机通用型语言.对于初学者来说,首先需要掌握的就是其中的一些 ...

  6. python字典构造函数dict(mapping)解析

    Python字典的构造函数有三个,dict().dict(**args).dict(mapping),当中第一个.第二个构造函数比較好理解也比較easy使用, 而dict(mapping)这个构造函数 ...

  7. python 字典操作方法详解

    字典是一种通过名字或者关键字引用的得数据结构,key 类型需要时被哈希,其键可以是数字.字符串.元组,这种结构类型也称之为映射.字典类型是Python中唯一內建的映射类型. 注意,浮点数比较很不精确, ...

  8. Python(2)深入Python函数定义

    Python学习 Part2:深入Python函数定义 在Python中,可以定义包含若干参数的函数,这里有几种可用的形式,也可以混合使用: 1. 默认参数 最常用的一种形式是为一个或多个参数指定默认 ...

  9. python -- 字典 集合

    1.字典          定义:字典是以 key :value 的形式来保存数据,用{} 来表示,存储的是 key : value        查找效率比较高(注:字典存储数据时,用的是hash值 ...

随机推荐

  1. Matlab %伍

    第五章:初级绘图进阶 Special Plots  loglog semilogx semilogy plotyy hist bar pie polar Logarithm Plots  x = lo ...

  2. Github高效搜索方式

    Github高效搜索方式 文章目录 Github高效搜索方式 0.写在前面 1.常用的搜索功能 1.1 直接搜索 1.2 寻找指定用户|大小的仓库 1.3 搜索仓库 1.4 查找特定star范围的仓库 ...

  3. Word 找不到 Endnote选项

    Word 2010 找不到 Endnote选项汇总(不是Office有效加载项)因为基本百度上的问题我全都遇到了-说明:在我们使用Word的过程中,常常发现没有Endnote选项.然后去找百度方法:1 ...

  4. 使用react-vite-antd,修改antd主题,报错 [vite] Internal server error: Inline JavaScript is not enabled. Is it set in your options? It is hacky way to make this function will be compiled preferentially by less

    一般报错 在官方文档中,没有关于vite中如何使用自定义主题的相关配置,经过查阅 1.安装less  yarn add less (已经安装了就不必再安装) 2.首先将App.css改成App.les ...

  5. sql函数的用法

    1.codename 作为翻译函数 CREATE DEFINER=`root`@`localhost` FUNCTION `codename`(`sys_code` varchar(20),`stat ...

  6. python list dict util (分割,分组)

    1.list数据分割为多个小列表  (java   lists.partition) 2. 分组 import itertools def partition(mylist, size): " ...

  7. MySQL学习(九)frm与ibd了解

    参考:https://cloud.tencent.com/developer/article/1533746 InnoDB: frm,ibd MyISAM: frm,myd,myi ibd是InnoD ...

  8. Nacos与OpenFeign开发

    目录 1.前言 2.生产者 3.消费者 4.扩展 1.前言 我的话是微服务B调用微服务A的controller层 2.生产者 微服务A请求接口如下: @GetMapping("/listUn ...

  9. 火山引擎 DataLeap:一家企业,数据体系要怎么搭建?

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 导读:经过十多年的发展,数据治理在传统行业以及新兴互联网公司都已经产生落地实践.字节跳动也在探索一种分布式的数据治 ...

  10. C++/Qt网络通讯模块设计与实现(四)

    在C++/Qt网络通讯模块设计与实现(三)中提到了一个概念,即接受者所依附的线程:关注我微信公众号的技术朋友留言对该概念还是不解,这节就单独讲述这个概念的理论与实际应用,这种应用无处不在,因为与Qt的 ...