34 py创建和使用字典 使用dict函数将序列(列表、元组)转换为字典 以及 字典的基本操作

第一课 创建和使用字典

# 创建和使用字典

# 我们以前讲过2种序列:1列表 2元组
# 共同点:都是通过索引引用元素值
# 不同点:列表是可读写的,元组是只读的

names = ["Bill", "Mike", "John", "Mary"]

numbers = ["1234", "4321", "6789", "6543"]

print(numbers[names.index("Mike")]) #4321 通过names中的Mike的索引 位置 来查找他的电话号码 numbers中的列表
print(names[numbers.index("6543")]) # Mary

# 多个关联的数据分散到不同的 列表或者元组中,不太好维护 引入 字典
# 字典是一对 key和value {} 中间用: 表示
phoneBook = {"Bill":"1234","Mike":"4321","John":"6645","Mary":"7753"}
print(phoneBook) # {"Bill":"1234","Mike":"4321","John":"6645","Mary":"7753"}
print(phoneBook["Mike"]) # 4321
-----------------------------------------------
第二课 使用dict函数将序列(列表、元组)转换为字典 // 通俗的理解为: 可以把列表和元组 通过 dict函数 转化为字典类型

# 使用dict函数将序列转换为字典
# 第一个是列表 第二个元素为元组
# 首先定义一个列表,列表中有多个元数,里面的元素可以为多个值,可以为列表也可以为元组
items = [[‘Bill‘,"4321"],("Mike","7891"),[‘John‘,‘4567‘]]
d = dict(items)
print(d) # {‘Bill‘: ‘4321‘, ‘Mike‘: ‘7891‘, ‘John‘: ‘4567‘}
‘‘‘
也可以直接写成这样
items = [[‘Bill‘,"4321"],("Mike","7891"),[‘John‘,‘4567‘]]
#d = dict(items)
print(dict(items))
‘‘‘

dict1 = dict(name="Bill", number=6543, age=34) # 这是把元组转化为字典
print(dict1) # {‘name‘: ‘Bill‘, ‘number‘: 6543, ‘age‘: 34}

# 需要先定义一个空的列表 然后 把输入的 input 追加起来,再通过dict函数进行转化 成字典
items = []
while True:
key = input("请输入Key:")
if key == ":exit":
break;
value = input("请输入value:")
keyValue = [key,value]
items.append(keyValue) # 追加
d = dict(items)
print(d)

‘‘‘
请输入Key:majihui
请输入value:12345
请输入Key:zhaoshun
请输入value:33333
请输入Key:local
请输入value:china
请输入Key::exit
{‘majihui‘: ‘12345‘, ‘zhaoshun‘: ‘33333‘, ‘local‘: ‘china‘}
‘‘‘

-------------------------------------
第三课 字典的基本操作

# 字典的基本操作
# 通过len函数获取字典的长度
items = [1,2,3,4,5] # 这是一个列表
print(len(items)) # 5 输出列表的长度
d = {"name":"Bill", "age":43} # 这是一个字典
print(len(d)) # 2 输出字典的长度

# 通过key获取和设置或修改字典中的值
print(d["name"]) # Bill 获取字典中的值
d["name"] = "Mary" # 修改字典中的value的值 把原来名字为 Bill改成 Mary
print(d) # {‘name‘: ‘Mary‘, ‘age‘: 43}

#print(items[10]) # 当输出的索引超出了列表 就会报错 异常
d["salary"] = 5432 # 在原来字典的基础上追加一个
print(d) # {‘name‘: ‘Mary‘, ‘age‘: 43, ‘salary‘: 5432}

# 判断字段是否在列表中
print(1 in items) # True
print(10 in items) # False

#对于字典来说,他是直接找key是否在字典中存储,他不会找value
print("name" in d) # True
print("location" in d) # False

‘‘‘
列表和字典不同点小结:
1. key的类型,列表只能是数字(索引),字典的key可以是多种类型,如字符串、元组
2. 自动添加,引用列表元素,索引必须在范围内,否则抛出异常,字典的key如果不存在,会自动添加一个key-value对
3. 查找成员,列表使用in,直接查找值,字典使用in,查找key
查找效率,字典要高于列表和元组
‘‘‘

IDEs = {
‘eclipse‘:
{
‘languages‘:[‘Java‘,‘Python‘,‘JavaScript‘,‘PHP‘],
‘organization‘:‘Eclipse基金会‘
},
‘visualstudio‘:
{
‘languages‘:[‘C#‘,‘C++‘, ‘VB.NET‘],
‘organization‘:‘微软‘
},
‘webstorm‘:
{
‘languages‘:[‘JavaScript‘],
‘organization‘:‘JetBrains‘
}

}
labels = {
‘languages‘:‘支持的编程语言‘,
‘organization‘:‘所属机构‘
}
IDE = input(‘请输入IDE的名字‘)
findIDE = IDE.replace(‘ ‘, ‘‘).lower() # 把输入的空格转化为空 并且 把输入的值转化为小写

choice = input(‘要查询的IDE支持的编程语言(lang)还是所属及机构(org)?‘)
if choice == ‘lang‘: key = ‘languages‘
if choice == ‘org‘: key = ‘organization‘

if findIDE in IDEs:
print("{} {}是{}.".format(IDE, labels[key],IDEs[findIDE][key]))

‘‘‘
请输入IDE的名字eclipse
要查询的IDE支持的编程语言(lang)还是所属及机构(org)?lang
eclipse 支持的编程语言是[‘Java‘, ‘Python‘, ‘JavaScript‘, ‘PHP‘].

请输入IDE的名字WEBstorm
要查询的IDE支持的编程语言(lang)还是所属及机构(org)?org
WEBstorm 所属机构是JetBrains.

请输入IDE的名字eclipse //输入的这个空面有空格
要查询的IDE支持的编程语言(lang)还是所属及机构(org)?org
eclipse 所属机构是Eclipse基金会.
‘‘‘

原文地址:https://blog.51cto.com/12445535/2464571

时间: 2024-08-27 13:40:25

34 py创建和使用字典 使用dict函数将序列(列表、元组)转换为字典 以及 字典的基本操作的相关文章

字典:dict.c/dict.h

Redis 源码分析(1):字典和哈希表(dict.c 和 dict.h)http://huangz.iteye.com/blog/1455808两个点:字典结构的运作流程哈希表的渐进式 rehash操作哈希表是 redis 的核心结构之一,在 redis 的源码中, dict.c 和 dict.h 就定义了哈希结构. dict . dictht 和 dictEntry 这三个核心数据结构 /* 字典结构 */ typedef struct dict { dictType *type; // 为

Python学习笔记:字典(dict)有关内容

字典是Python中唯一的映射类型.映射类型对象里哈希值(键:key),和指向的对象(值:value),是一对多的关系,也就是 字典的元素分为两个部分,分别是键和值,一个键对应一个值,键不能够重复,值可以重复. 1.创建字典. (1).字典是用大括号({})来包含元素的,基本创建就是直接赋值,键不能是元组或者列表,但是值可以是. >>> D = {'a':1,'b':2,'c':3}<span style="white-space:pre"> </s

Python 基础之字典(dict)的用法

python dict字典字典是Python中唯一的内建映射类型,字典中的数据没有特定的顺序,可以通过特定的键(key)来存取数据.键可以是数字.元组或字符串,但不能是列表. 字典的常用方法:1.1 clear()方法1.2 copy()方法1.3 fromkeys()方法1.4 get()方法1.5 has_key()方法1.6 items.iteritems方法1.7 keys.iterkeys1.8 popitem()方法1.9 setdefault()方法1.10 update()方法1

Python+Selenium进行UI自动化测试项目中,常用的小技巧1:读取excel表,转化成字典(dict)输出

从今天开始我将会把在项目中遇到的问题,以及常用的一些技巧来分享出来,以此来促进自己的学习和提升自己:更加方便我以后的查阅. 现在要说的是:用Python来读取excel表的数据,返回字典(dict),在脚本中进行调用 我直接贴出代码: import xlrd data_path = "F:\data" # 存放excel表的路径xlsname = "userinfo.xlsx" # excel表的名字sheetname = "Sheet1" #

Python3学习笔记-字典(dict)

字典也是开发过程中最常用的一种数据类型.如果需要存储一个班学生的信息,每个学生有姓名.性别.年龄.住址等等的信息,如果用列表存储,需要很多列表.这时候就需要用字典来定义了.字典,dict,dictionary. names = ['Amy','Lily','Ben'] infos = [[18,'female','北京'],[17,'female','天津'],[21,'male','上海']] 1.字典定义 字典是一种key-value的数据类型,使用{}定义,每个值用","分开,k

高级数据类型--字典(dict)

一.字典介绍 dict(字典) 是 除列表以外 Python 之中 最灵活 的数据类型.字典同样可以用来 存储多个数据,通常用于存储 描述一个 物体 的相关信息 和列表的区别: 列表 是 有序 的对象集合 字典 是 无序 的对象集合 字典用 {} 定义. 字典使用 键值对 存储数据,键值对之间使用逗号 , 分隔: 键 key 是索引 值 value 是数据 键 和 值 之间使用冒号 : 分隔 键必须是唯一的 值 可以取任何数据类型,但 键 只能使用 字符串.数字或 元组 xiaoming = {

python中的字典(dict)

首先说一下字典是什么: 字典是一种容器模型,可以通过搜索Key键获得其对应值得数据结构,字典可以储存任何类型的对象.字典里面的每个Key和value之间用冒号隔开.其键可以是字符串.数字.元组,字典是Python中唯一内置的映射类型. 注:键最好不要用浮点 字典所包含的方法如下表: 序号 方法 描述 1 clear(self) 删除字典里面的所有元素 2 copy(self) 返回值类型为字典,浅copy ,俗称赋值 3 fromkey(*args,**kwargs) 创建一个新字典,以序列se

Python -- 字符串 列表 元组 字典

小Q浪花有意千重雪桃李无言一队春一壶酒一竿纶世上如侬有几人.  ---李煜<渔歌子> --------------------------------------------------------------------------------------- 序列  是Python中最基本的数据结构.序列中每一个元素的位置都有其对应数字编码或索引比如第一个元素的编码是0第二个元素的索引是1............. 序列中可进行的操作索引.切片.加.乘.检查成员另外的长度.最大最小值等内建函

基本数据类型(字符串_数字_列表_元祖_字典_集合)

基本数据类型(字符串_数字_列表_元祖_字典_集合) 1.字符串 2.数字 除了布尔类型外,int.long.float和complex都可以使用的运算为:加.减.乘.除.整除.幂运算和取余 3.列表和元组 列表的内容可变,可以包含任意对象,使用中括号表示.元组的内容不可变,可以包含任意对象,使用圆括号表示.元组 1 l = [1, 2, 3, '4', '5'] # 列表 2 l = list((1, 2, 3, '4', '5')) 3 4 t = (1, 2, 3, '4', '5') #