Python基础6 - 字典

6.1 一个简单的字典

        下面是一个简单的字典;

alien_0 = {"color" : "green", "points" : 5}
print(alien_0["color"])
print(alien_0["points"])

        执行结果:

6.2 使用字典

        字典是一系列键值对,每个键对应一个值。键值对之间用逗号(,)隔开,键与值之间用(:)隔开。

6.2.1 访问字典的值

        输入字典的键名即可访问其对应的值,代码如下:

alien_0 = {"color" : "green", "points" : 5}
print(alien_0["color"])
print(alien_0["points"])

         执行结果:

6.2.2 添加键值对

        添加简直对,可以直接输入键名然后给其赋值,代码如下:

alien_0 = {"color" : "green", "points" : 5}
print("添加前字典:",alien_0)
alien_0["x_position"] = 0
alien_0["y_position"] = 25
print("添加后字典:",alien_0)

        执行结果:

6.2.3 先创建一个空字典

        直接给空字典添加往往比较常用,代码示例如下:

alien_0 = {}
print("添加前字典:",alien_0)
alien_0["color"] = "green"
alien_0["points"] = 5
alien_0["x_position"] = 0
alien_0["y_position"] = 25
print("添加后字典:",alien_0)

        执行结果:

6.2.4 修改字典中的值

        可以使用字典名重新赋值来修改字典的值:

alien_0 = {}
alien_0["color"] = "green"
alien_0["points"] = 5
alien_0["x_position"] = 0
alien_0["y_position"] = 25
print("修改前字典:",alien_0)
alien_0["color"] = "yellow"
print("修改后字典:",alien_0)

        执行结果:

6.2.5 删除键值对

        要删除键值对可以通过del进行删除,代码示例如下:

alien_0 = {}
alien_0["color"] = "green"
alien_0["points"] = 5
alien_0["x_position"] = 0
alien_0["y_position"] = 25
print("删除前字典:",alien_0)
del alien_0["x_position"]
print("删除后字典:",alien_0)

        执行结果:

6.2.6 由类似对象组成的字典

        字典存储的是一个对象的多种信息,也可以使用字典存储多个对象的同一种信息

favorite_languages = {
	'jen' : 'python',
	'sarah' : 'c',
	'edward' : 'rudy',
	'phil' : 'python'
}

name = input('请输入您要查询的对象:')
print(f"{name}喜欢的语言是{favorite_languages[name]}")

        执行结果:

6.2.7 使用get()来访问值

        使用get()获取值,第一个参数为字典的键,第二个参数是当键不存在是返回的值:

favorite_languages = {
	'jen' : 'python',
	'sarah' : 'c',
	'edward' : 'rudy',
	'phil' : 'python'
}

name = input('请输入您要查询的对象:')
print(f"{name}喜欢的语言是{favorite_languages.get(name,'未知')}")

        执行结果:

6.2.8 练习

        练习6-1:人        使用一个字典来存储一个熟人的信息,包括名,姓,年龄和居住地。

        代码示例:

people = {
	"first_name" : "老",
	"last_name" : "王",
	"age" : 20,
	"city" : "东莞"
}
print(people)

        执行结果:

        练习6-2:喜欢的数        创建一个字典存储人名和他喜欢的数

        代码示例:

like_number = {}
like_number["LiHua"] = 1
like_number["ZhangSan"] = 2
like_number["LiSi"] = 3
like_number["WangWu"] = 4
name = input("请输入查询的名字:")
print(f"{name}喜欢的数字是{like_number.get(name,'未知')}")

        执行结果:

        练习 6-3:词汇表        模拟现实生活中的字典

        代码示例:

English_dist = {}
number = input("请输入你要插入单词的数目:")
for i in range(int(number)):
	word = input(f"第{i+1}个单词:")
	translate = input(f"第{i+1}个单词的意思:")
	English_dist[word] = translate
for word in English_dist:
	print(f"{word}的意思是{English_dist.get(word)}")

        执行结果:

6.3 遍历字典

6.3.1 遍历所有的键值对

        使用item()方法可以遍历所有键值对,代码示例如下:

user_0 = {
	'username' : 'efermi',
	'first' : 'enrico',
	'last' : 'fermi'
}
for key,value in user_0.items():
	print(f'\nKey:{key}')
	print(f'\nValue:{value}')

执行结果:

6.3.2 遍历字典中所有键

        使用keys()方法可以遍历所有的键,代码示例如下:

user_0 = {
	'username' : 'efermi',
	'first' : 'enrico',
	'last' : 'fermi'
}
for key in user_0.keys():
	print(f'\nKey:{key}')

6.3.3 按特定顺序遍历字典中的所有键

        使用sorted()方法可以对进行排序,代码示例如下:

user_0 = {
	'username' : 'efermi',
	'first' : 'enrico',
	'last' : 'fermi'
}
for key in sorted(user_0.keys()):
	print(f'\nKey:{key}')

6.3.4 遍历字典中的所有值

        使用values()函数可以遍历所有的值:

user_0 = {
	'username' : 'efermi',
	'first' : 'enrico',
	'last' : 'fermi'
}
for value in sorted(user_0.values()):
	print(f'\nValue:{value}')

6.3.5 练习

练习 6-4:词汇表        调用一个print()函数键和值的循环,确认无误后再添加5个python术语并打印

dist = {
	'print' : '打印',
	'input'	: '输入',
	'list' : '列表',
	'if'	: '如果',
	'else' : '否则'
}
for key,value in dist.items():
	print(f'Key:{key}\nValue:{value}')
for i in range(5):
	word = input('word:')
	text = input('text:')
	dist[word] = text
for key,value in dist.items():
	print(f'{key}的意思是{value}')

练习 6-5:河流        创建一个字典存储3条重要河流及其流经的国家。

dist = {
	'长江' : '中国',
	'黄河' : '中国',
	'亚马逊河' : '巴西'
}
for key,value in dist.items():
	print(f"{key}流经{value}")
for key in dist.keys():
	print(key)
for value in dist.values():
	print(value)

练习 6-6:调查        创建一个应该接受调查的人员名单,其中有些人已包含在字典当中,而其他人未包含在字典中。遍历人员名单。对已参加调查的人表示感谢,对还未参加调查的人进行邀请。

like_number = {}
like_number["LiHua"] = 1
like_number["ZhangSan"] = 2
like_number["LiSi"] = 3
like_number["WangWu"] = 4
list1 = ['LiHua','ZhangSan','LiSi','WangWu','ZhaoLiu','LiuBei']
for value in list1:
	if value in like_number.keys():
		print(f'Thankyou,{value}')
	else:
		print(f'Please,{value}')

6.4 嵌套

6.4.1 字典列表

        字典列表即把字典存入列表当中,代码示例如下:

aliens = []
for alien_number in range(30):
	new_alien = {'color' : 'green','points':5,'speed' : 'slow'}
	aliens.append(new_alien)
for alien in aliens[:5]:
	print(alien)
print('...')

6.4.2 在字典中存储列表

        可使用字典存储列表的嵌套,作用于当一个类内需包含多个对象时可使用,代码示例如下:

favorite_languages = {
	'张三' : ['c','c++'],
	'LiSi' : ['python','go'],
	'WangWu' : ['java'],
	'ZhaoLoi' : ['ruby','haskell']
}
for name, languages in favorite_languages.items():
	print(f"\n{name}'s favorite languages are:")
	for language in languages:
		print(f"\t{language}")

6.4.3 在字典中存储字典

        使用字典可以编写多字典形式存储的表,作用是易于查找指定信息,当有层级比较明显的表格可以使用,是信息更加直观可查,代码示例如下:

users = {
	'李华' : {
		'姓别' : '男',
		'年龄' : 21,
		'居住地' : '北京'
	},
	'王五' : {
		'姓别' : '男',
		'年龄' : 20,
		'居住地' : '广东'
	}
}
for username, user_info in users.items():
	print(f'\n姓名: {username}')
	for key, value in user_info.items():
		print(f"他的{key}为{value}")

6.4.4 练习

练习 6-7:人们        创建两个人的字典然后把该字典存入一个列表当中

lisi = {
	'姓名' : '李四',
	'性别':'男',
	'年龄':18
}
zhangsan = {
	'姓名' : '张三',
	'性别':'男',
	'年龄':28
}
user = [lisi, zhangsan]
print(user)

练习 6-8:宠物        创建多个宠物字典,每个字典包含宠物的类型以及主人的名字,将所有字典存入一个列表当中

cat = {
	'主人' : '张三',
	'宠物' : '猫'
}
dog = {
	'主人' : '李四',
	'宠物' : '狗'
}
li = [cat, dog]
for dist in li:
	print(f'{dist["主人"]}的宠物是{dist["宠物"]}') 

练习 6-9:喜欢的地方        创建一个字典包含人名以及所喜欢的地方,人名为键。

favorite_citys = {
	'张三' : ['北京', '上海', '新疆'],
	'李四' : ['深圳', '广州', '重庆']
}
for key,value in favorite_citys.items():
	print(f'\n{key}喜欢的地方有:')
	for i in value:
		print(f'{i}')

练习 6-10:喜欢的数        创建一个字典,每个人都有多个喜欢的数字

favorite_citys = {
	'张三' : [1,2,3],
	'李四' : [4,5,6]
}
for key,value in favorite_citys.items():
	print(f'\n{key}喜欢的数字有:')
	for i in value:
		print(f'{i}')

练习 6-11:城市       创建一个字典包含多个城市以及城市所属国家,人口数以及当地文化

cities = {
	'北京' : {
		'人口数' : 2184,
		'所属国家':'中国',
		'备注' : '国家政治中心'
	},
	'上海' : {
		'人口数' : 2475,
		'所属国家':'中国',
		'备注' : '国家经济中心'
	}
}
for key,value in cities.items():
	print(f'{key}是{value["所属国家"]}的城市,城市人口约{value["人口数"]}万人,是{value["备注"]}')

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值