题主你好,
看例子吧:
我先定义一个空字典dic:
dic = {}
向字典中添加键值对是通过:
字典名['键名'] = '值'
这种形式, 下面我向字典中添加一个键为'name', 值为'hello kitty'的这么一个键值对:
dic['name'] = 'hello kitty'
此时字典dic的值就内{}, 变为了{'name': 'hello kitty'}
---
测试截图:
希望可以帮到题主, 欢迎追问
之前有位粉丝说我写的东西像复制粘贴的,自己一看还真是像,以后会尽量改正。
练习题
练习 5-8:以特殊方式跟管理员打招呼 创建一个至少包含 5 个用户名的列表,且
其中一个用户名为'admin'。想象你要编写代码,在每位用户登录网站后都打印一条文字
好消息。遍历用户名列表,并向每位用户打印一条问候消息。如果用户名为'admin',就打印一条特殊的问候消息,如下所示。 Hello admin, would you like to see a status report? 否则,打印一条普通的问候消息,如下所示。 Hello Jaden, thank you for logging in again.
步骤
创建一个至少包含 5 个用户名的列表,且 其中一个用户名为'admin'
这个要求是简单的创建列表,列表中包含’admin’的元素。
user_names = ['admin','wangwei','lijie','xufeng','jaden']
想象你要编写代码,在每位用户登录网站后都打印一条文字好消息。想象你要编写代码,在每位用户登录网站后都打印一条文字 好消息。遍历用户名列表,并向每位用户打印一条问候消息。如果用户名为'admin',就打印一条特殊的问候消息,如下所示。 Hello admin, would you like to see a status report? 否则,打印一条普通的问候消息,如下所示。 Hello Jaden, thank you for logging in again.
这个就是if语句的简单用法:
"""
以特殊方式跟管理员打招呼
"""
# 创建一个至少包含 5 个用户名的列表,且其中一个用户名为'admin'。
user_names = ['admin' , 'wangwei' , 'lijie' , 'xufeng' , 'jaden']
for user_name in user_names: # 遍历用户列表
if user_name == 'admin': # 判断用户是否为admin
print(f"Hello {user_name},would you like to see a status report")
else:
print(f"Hello {user_name.title()},thank you for logging in again.")
以后写代码会加上注释慢慢养成习惯,并规范他
练习 5-9:处理没有用户的情形 在为完成练习 5-8 编写的程序中,添加一条 if 语
句,检查用户名列表是否为空。如果为空,就打印如下消息。 We need to find some users!
删除列表中的所有用户名,确定将打印正确的消息
user_names = []
if user_names: #判断是否列表为空
for user_name in user_names: # 遍历用户列表
if user_name == 'admin': # 判断用户是否为admin
print(f"Hello {user_name},would you like to see a status report")
else:
print(f"Hello {user_name.title()},thank you for logging in again.")
else:
print("We need to find some users!")
这里是在遍历for语句前加个if语句判断 user_names列表是否有元素,是执行for语句,不是输出We need to find some users!
练习 5-10:检查用户名 按下面的说明编写一个程序,模拟网站如何确保每位用户
每个用户名都独一无二。
创建一个至少包含 5 个用户名的列表,并将其命名为 current_users。
再创建一个包含 5 用户名的列表,将其命名为 new_users,并确保其中有一两
用户名也包含在列表 current_users 中。
遍历列表 new_users,对于其中的每个用户名,都检查它是否已被使用。如果是,
就打印一条消息,指出需要输入别的用户名;否则,打印一条消息,指出这个
用户名未被使用。
确保比较时不区分大小写。换句话说,如果用户名'John'已被使用,应拒绝用
户名'JOHN'。(为此,需要创建列表 current_users 的副本,其中包含当前所有
用户名的小写版本。)
本题前三问都很简单重点是第四问创建列表current_users的副本存放current_users 的小写版本:
创建一个空的列表
current_users_lower =[]
把current_users列表中的元素转化成小写在存入新列表current_user_lower中
for user in current_users:
current_users_lower.append(user.lower())
再从new_users列表中遍历每个元素,转化成小写后再与列表current_users_lower中的元素比较
for user in new_users:
if user.lower() in current_users_lower:
print(f"{user} has been used . You need to enter another user name:")
else:
print(f"{user},Has not been used.")
练习 5-11:序数 序数表示位置,如 1st 和 2nd。序数大多以 th 结尾,只有 1、2
和 3 例外。
在一个列表中存储数字 1 9。
遍历这个列表。
在循环中使用一个 if-elif-else 结构,以打印每个数字对应的序数。输出内容
应为"1st 2nd 3rd 4th 5th 6th 7th 8th 9th",但每个序数都独占一行。
ordinals = list(range( 1,10 ))
print(ordinals)
for number in ordinals:
if number == 1 :
print(f"{number}st")
elif number == 2 :
print(f"{number}nd")
elif number == 3 :
print(f"{number}rd")
else:
print(f"{number}th")
If语句学习就到这里下面是字典的内容
字典示例
什么是字典
字典就是一系列键值对
alien_0 = {'color': 'green' , 'points': 5 }
alien_0表示字典的名称
=是为字典赋值
Python 中,字典用放在花括号{}中的一系列键值对表示
什么是键值对
{'color': 'green' , 'points': 5 }
其中‘color’是键 :后的‘green‘是值,不同的键值对有逗号隔开
键值是两个相关联的值。指定键时,Python 将返回与之相关联的值。和值之间用冒号分 隔,而键值对之间用逗号分隔。在字典中,想存储多少个键值对都可以。
访问字典中的值
我们知道了什么是字典,哪如何使用字典,首先访问字典中的值,
alien_0['points']
’points‘就是要访问的键python会返回这个键对应的值。
添加键值对
之后就是对字典就行修改了,字典是一个动态的,可随时更改
在字典中添加键值对
alien_0['x_position'] = 0
字典alien_0中创建新的键’x_position‘复制为0
修改字典中的值
添加之后就是修改字典中的值
修改字典中的值就是对字典中的已有键重新赋值
alien_0['color'] = 'yellow'
删除键值对
对于字中不再需要的信息,可使用 del 语句将相应的键值对彻底删除。使用 del 语句时,
必须指定字典名和要删除的键。
del alien_0['y_position']
由类似对象组成的字典
字典可以是由一个对象的多种信息组成也可以是,多个对象的同种信息组成。
favorite_languages = {
'jen': 'Python' ,
'sarah': 'C' ,
'edward': 'ruby' ,
'phil': ' Java'
}
举例中字典的键是不同的人, 值是编程语言
使用 get() 来访问值
alien_0.get('point' , 'No point value assigned.')
get()中的第一个参数是字典的中的键,第二个参数是指定键不存在的时候返回的值
get()的功能是取字典中的一个键如果存在就返回其值,如果不存在就返回第二个参数
练习 6-1:人 使用一个字典来存储一个熟人的信息,包括名、姓、年龄和居住的城市。该字典应包含键 first_name、last_name、age 和 city。将存储在该字典中的每项信息都打印出来。
# 创建包含4个键值对的字典person_message
person_messages = {
'first_name': 'bill' ,
'last_name' : 'gates' ,
'age': 60,
'city': 'seattle'
}
print(person_messages['first_name'])
print(person_messages['last_name'])
print(person_messages['age'])
print(person_messages['city'])
练习 6-2:喜欢的数 使用一个字典来存储一些人喜欢的数。请想出 5 个人的名字,
并将这些名字用作字典中的键;找出每个人喜欢的一个数,并将这些数作为值存储在字
典中。打印每个人的名字和喜欢的数。为了让这个程序更有趣,通过询问朋友确保数据
是真实的。
favorite_numbers = {}
"""
'bill gates': 5,
'elon musk': 10,
'steve jobs': 15,
'jeff bezos': 20,
'larry ellison': 25
"""
favorite_numbers['bill gates'] = 5
favorite_numbers['elon musk'] = 10
favorite_numbers['steve jobs'] = 15
favorite_numbers['jeff bezos'] = 20
favorite_numbers['larry ellison'] = 25
value = favorite_numbers['bill gates']
print(f"Bill Gates favorite number is {value}.")
value = favorite_numbers['elon musk']
print(f"Elon Musk favorite number is {value}.")
value = favorite_numbers['steve jobs']
print(f"Steve Jobs favorite number is {value}.")
value = favorite_numbers['jeff bezos']
print(f"Jeff Bezos favorite number is {value}.")
value = favorite_numbers['larry ellison']
print(f"Larry Ellison favorite number is {value}.")
练习 6-3:词汇表 Python 字典可用于模拟现实生活中的字典。为避免混淆,我们
将后者称为词汇表。
想出你在前面学过的 5 个编程术语,将其用作词汇表中的键,并将它们的含义
作为值存储在词汇表中。
以整洁的方式打印每个术语及其含义。为此,可先打印术语,在它后面加上一
个冒号,再打印其含义;也可在一行打印术语,再使用换行符( )插入一个
空行,然后在下一行以缩进的方式打印其含义。
glossaryes = {
'string': '字符串' ,
'comment': '注释' ,
'dictionary':'字典' ,
'list': '表' ,
'loop': '循环' ,
}
word = 'string'
print(f" {word.title()}: {glossaryes[word]}")
word = 'comment'
print(f" {word.title()}: {glossaryes[word]}")
word = 'dictionary'
print(f" {word.title()}: {glossaryes[word]}")
word = 'list'
print(f" {word.title()}: {glossaryes[word]}")
word = 'loop'
print(f" {word.title()}: {glossaryes[word]}")
遍历所有键值对
for k, v in user_0.items()
遍历2个变量一个k是用来存储键,v用来存储值的
.items()方法
字典items()以列表返回可遍历的(键,值)的元组数组
friends = ['phil' , 'sarah']
for name in favorite_languages.keys():
print(f"Hi {name.title()}.")
if name in friends:
language = favorite_languages[name]
print(f" {name.title()},I see you love {language}.")
if 'erin' not in favorite_languages.keys():
print("Erin , please take our poll!")
Favorite_languages.keys()把字典favorite_languages中的键来组成一个列
Favorite_languages.values()把字典favorite_languages中的值来组成一个列
练习 6-4:词汇表 2 现在你知道了如何遍历字典,可以整理为完成练习 6-3 而编写
的代码,将其中的一系列函数调用 print()替换为一个遍历字典中键和值的循环。确定
该循环正确无误后,再在词汇表中添加 5 个 Python 术语。当你再次运行这个程序时,
这些新术语及其含义将自动包含在输出中。
glossaryes = {
'string': '字符串' ,
'comment': '注释' ,
'dictionary':'字典' ,
'list': '表' ,
'loop': '循环' ,
}
for name , mean in glossaryes.items():
print(f"{name.title()}: {mean}")
glossaryes['function'] = '函数'
glossaryes['method'] = '方法'
glossaryes['statement'] = '语句'
glossaryes['retract'] = '缩进'
glossaryes['tuple'] = '元组'
for name , mean in glossaryes.items():
print(f"{name.title()}: {mean}")
练习 6-5:河流 创建一个字典,在其中存储三条重要河流及其流经的国家。例如,
一个键值对可能是'nile': 'egypt'。
使用循环为每条河流打印一条消息,下面是一个例子。
The Nile runs through Egypt.
使用循环将该字典中每条河流的名字打印出来。
使用循环将该字典包含的每个国家的名字打印出来。
# 创建一个空的字典rivers
rivers = {}
# 为字典rivers添入信息
rivers['nile'] = 'egupt'
rivers['amazon'] = 'brazil'
rivers['the ganges'] = 'india'
# 遍历rivers字典中的键值对
for river , state in rivers.items():
print(f"The {river.title()} runs through {state.title()}.")
for river in rivers.keys():
print(river.title())
for state in rivers.values():
print(state.title())
练习 6-6:调查 在 6.3.1 节编写的程序 favorite_languages.py 中执行以下 *** 作。
创建一个应该会接受调查的人员名单,其中有些人已包含在字典中,而其他人
未包含在字典中。
遍历这个人员名单。对于已参与调查的人,打印一条消息表示感谢;对于还未
参与调查的人,打印一条消息邀请他参加。
favorite_languages = {
'jen': 'Python' ,
'sarah': 'C' ,
'edward': 'ruby' ,
'phil': 'Python'
}
survey_list = ['jen' , 'sarah' , 'bill' , 'musk']
for name in survey_list:
if name in favorite_languages.keys():
print(f"感谢 {name.title()}.")
else:
print(f"{name.title()},邀请你参加调查.")
嵌套
将字典完整的看成一个元素存入列表中,可在字典中嵌套列表甚至字典。
alien_0 = {'color': 'green' , 'points': 5 }
alien_1 = {'color': 'yellow' , 'points': 10 }
alien_2 = {'color': 'red' , 'points': 15 }
aliens = [alien_0 , alien_1 , alien_2]
练习 6-7:人们 在为完成练习 6-1 而编写的程序中,再创建两个表示人的字典,
然后将这三个字典都存储在一个名为 people 的列表中。遍历这个列表,将其中每个人
的所有信息都打印出来
person_0 = {
'first': 'bill' ,
'last' : 'gates' ,
'age': 60,
'city': 'seattle' ,
}
person_1 = {
'first': 'elon' ,
'last': 'musk' ,
'age': 50,
'city': 'san francisco' ,
}
person_2 = {
'first': 'jeff' ,
'last': 'bezos' ,
'age': 55,
'city': 'new york' ,
}
people = [person_0 , person_1 , person_2]
for person in people:
name = f"{person['first']} {person['last']}"
age = person['age']
city = person['city']
print(f"{name.title()} :")
print(f" Age :{age}")
print(f" City :{city.title()} ")
练习 6-8:宠物 创建多个表示宠物的字典,每个字典都包含宠物的类型及其主人
的名字。将这些字典存储在一个名为 pets 的列表中,再遍历该列表,并将有关每个宠
物的所有信息都打印出来。
# 创建一个pets的空列表
pets = []
# 创建多个宠物的字典,每个字典包含宠物类型和主人名称
pet = {
'variety': 'dog' ,
'master': 'john' ,
}
pets.append(pet)
pet = {
'variety': 'cat' ,
'master': 'jeff' ,
}
pets.append(pet)
pet = {
'variety': 'hamster' ,
'master': 'jenny' ,
}
pets.append(pet)
for pet in pets:
name = pet['master'].title()
variety = pet['variety'].title()
print(f"{name} pet is a {variety}")
John pet is a Dog
Jeff pet is a Cat
Jenny pet is a Hamster
练习 6-9:喜欢的地方 创建一个名为 favorite_places 的字典。在这个字典中,
将三个人的名字用作键,并存储每个人喜欢的 1 3 个地方。为了让这个练习更有趣些,
可以让一些朋友说出他们喜欢的几个地方。遍历这个字典,并将其中每个人的名字及其
喜欢的地方打印出来。
# 创建一个字典其中是列表镶嵌在字典中
favorite_places = {
'jeff': ['new york' , 'tokyo'] ,
'bill': ['pairs'] ,
'elon': ['london' , 'beijng' , 'hong kong'] ,
}
# 遍历字典将键赋值name 将值赋予places 赋值完name是个字符串 places是个列表
for name , places in favorite_places.items():
print(f"{name.title()}'s favorite places is :")
# 遍历列表places中的值赋予place
for place in places:
print(f" -{place}")
练习 6-10:喜欢的数 2 修改为完成练习 6-2 而编写的程序,让每个人都可以有多
个喜欢的数,然后将每个人的名字及其喜欢的数打印出来。
# 创建一个空的字典
favorite_numbers = {}
# 往字典中添加信息 ‘人名’和喜欢的数字
favorite_numbers['bill gates'] = [ 5,7 ]
favorite_numbers['elon musk'] = [ 10,13 ]
favorite_numbers['steve jobs'] = [ 15,18 ]
favorite_numbers['jeff bezos'] = [ 20,22,23 ]
favorite_numbers['larry ellison'] = [ 25,26,30,33 ]
for name , numbers in favorite_numbers.items():
print(f"{name.title()}'s favorite number is :")
for number in numbers:
print(f" -{number}")
练习 6-11:城市 创建一个名为 cities 的字典,将三个城市名用作键。对于每座
城市,都创建一个字典,并在其中包含该城市所属的国家、人口约数以及一个有关该城
市的事实。在表示每座城市的字典中,应包含 country、population 和 fact 等键。将每
座城市的名字以及有关信息都打印出来。
# 创建4个字典
cities = {}
city_01 = {}
city_02 = {}
city_03 = {}
# 给每个字典赋值
city_01['country'] = 'japan'
city_01['population'] = 13_500_000
city_01['fact'] ='The southern kanto plain of Honshu island.'
city_02['country'] = 'usa'
city_02['population'] = 10_000_000
city_02['fact'] = ' northeast of the Atlantic coast of the United States'
city_03['country'] = 'china'
city_03['population'] = 21_530_000
city_03['fact'] =' Northwest margin of north China Plain'
cities['tokyo'] = city_01
cities['new york'] = city_02
cities['beijing'] = city_03
# 遍历字典输出每个信息
for name , messages in cities.items():
name = name.title()
country = messages['country'].title()
population = messages['population']
fact = messages['fact'].title()
print(f"{name}:")
print(f" -Country:{country}")
print(f" -Population:{population}")
print(f" -Fact:{fact}")
Tokyo:
-Country:Japan
-Population:13500000
-Fact:The Southern Kanto Plain Of Honshu Island.
New York:
-Country:Usa
-Population:10000000
-Fact: Northeast Of The Atlantic Coast Of The United States
Beijing:
-Country:China
-Population:21530000
-Fact: Northwest Margin Of North China Plain
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)