《python编程:从入门到实践的》第六章:字典的例题代码

在Python中,字典是一系列键—值对。每个键都与一个值相关联,你可以使用键来访问与之
相关联的值。与键相关联的值可以是数字、字符串、列表乃至字典。事实上,可将任何Python对
象用作字典中的值。
在Python中,字典用放在花括号{}中的一系列键—值对表示

例1:

'''
人 :使用一个字典来存储一个熟人的信息,包括名、姓、年龄和居住的城市。该字典应包含键 first_name 、 last_name 、 age 和 city 。
将存储在该字典中的每项信息都打印出来。
'''
humen = {
    'first_name':'张',
    'last_name':'三',
    'age':'11',
    'city':'上海'
    }
print(humen)
print('------------------------------')

#喜欢的数字 :使用一个字典来存储一些人喜欢的数字。请想出 5 个人的名字,并将这些名字用作字典中的键;想出每个人喜欢的一个数字,
#并将这些数字作为值存储在字典中。打印每个人的名字和喜欢的数字。为让这个程序更有趣,通过询问朋友确保数据是真实的
nums = {
    'A':1,
    'B':2,
    'A':5,
    'D':2,
    'C':0
     }
#遍历字典中的键和值,用方法items()
for name,num in nums.items():
    print(name+',你喜欢数字'+str(num)+'吗?')

print('------------------------------')

#词汇表 : Python 字典可用于模拟现实生活中的字典,但为避免混淆,我们将后者称为词汇表。
#想出你在前面学过的 5 个编程词汇,将它们用作词汇表中的键,并将它们的含义作为值存储在词汇表中。
#以整洁的方式打印每个词汇及其含义。为此,你可以先打印词汇,在它后面加上一个冒号,再打印词汇的含义;
#也可在一行打印词汇,再使用换行符( \n )插入一个空行,然后在下一行以缩进的方式打印词汇的含义
zidian = {
    'one':'一',
    'apple':'苹果',
    'hello':'你好',
    'yi':'一',
    'what':'什么'
    }
for danci,ciyi in zidian.items():
    print(danci.title()+':'+ciyi)
#只输出键,用方法keys()
#按照排序输出,用sorted()
for n in sorted(zidian.keys()):
    print(n,end=' ')
#只输出值,用方法values()
print("\n")
for m in zidian.values():
    print(m,end=' ')

#取字典中的值,并进行去重,可使用集合(集合类似于列表,但每个元素都必须是独一无二的)
#集合类似列表,但是是用{},且创建空集合不能用{}(这个是字典),可以用set()
print("\n")
for a in set(zidian.values()):
    print(a,end=' ')
print('\n------------------------------')

#创建一个应该会接受调查的人员名单,其中有些人已包含在字典中,而其他人未包含在字典中。
#遍历这个人员名单,对于已参与调查的人,打印一条消息表示感谢。对于还未参与调查的人,打印一条消息邀请他参与调查。
mingdans = {
    'zhao':'赵',
    'qian':'钱',
    'sui':'孙',
    'li':'李'
    }
mingdan = ['zhou','li','wu']
for b in mingdans.keys():
    if b in mingdan:
        print(b+',感谢参与调查')
    else:
        print(b+',您还没有参与调查')

例2:

'''
人 :创建三个表示人的字典,然后将这三个字典都存储在一个名为 people 的列表中。
遍历这个列表,将其中每个人的所有信息都打印出来
'''
humen1 = {'A':'a','B':'b'}
humen2 = {'D':'d'}
humen3 = {'E':'e','T':'t'}
people = [humen1,humen2,humen3]
for n in people:
    for a,b in n.items():
        print(a+b)
print('--------------------------')

#喜欢的地方 :创建一个名为 favorite_places 的字典。在这个字典中,将三个人的名字用作键;对于其中的每个人,都存储他喜欢的 1~3 个地方。
#为让这个练习更有趣些,可让一些朋友指出他们喜欢的几个地方。遍历这个字典,并将其中每个人的名字及其喜欢的地方打印出来。
favorite_places = {
    '张三':['上海','北京'],
    '李四':['开封'],
    '王二':['合肥','重庆','郑州']
    }
for name,city in favorite_places.items():
    print('\n'+name+'喜欢:',end='')
    for c in city:
        print(''+c,end=' ')
print('\n--------------------------')

#创建一个名为 cities 的字典,其中将三个城市名用作键;对于每座城市,都创建一个字典,并在其中包含该城市所属的国家、人口约数
#以及一个有关该城市的事实。在表示每座城市的字典中,应包含 country 、 population 和 fact 等键。将每座城市的名字以及有关它们的信息都打印出来
names = {
    '张三':{'年龄':'12','身高':'1.32m','体重':'40kg'},
    '李四':{'年龄':'15','身高':'1.73m','体重':'55kg'},
    '王二':{'年龄':'21','身高':'1.81m','体重':'60kg'},
    }
for name,qita in names.items():
    print(name+':')
    for a,b in qita.items():
        print('\t'+a+':'+b)
print('--------------------------')

#批量创建字典放在列表中
#创建一个空的列表
users = []
#批量创建5个信息相同的用户
for uesr in range(5):
    new_user = {'name':'A','age':'6'}
    users.append(new_user)
#修改前2个用户的信息
for gai_user in users[:2]:
    if gai_user['name'] == 'A':
        gai_user['age'] = '10'
print(users)

《python编程:从入门到实践的》第七章:用户输入和while循环的例题代码

猜你喜欢

转载自blog.csdn.net/qq_41917061/article/details/108845060
今日推荐