《Python从入门到实践》--第六章 字典

python字典添加元素和删除元素

  1. 添加字典元素

方法一:直接添加,给定键值对
复制代码

#pycharm
aa = {‘人才’:60,‘英语’:‘english’,‘adress’:‘here’}
print(aa) # {‘人才’: 60, ‘英语’: ‘english’, ‘adress’: ‘here’}
#添加方法一:根据键值对添加
aa[‘价格’] = 100
print(aa) # {‘人才’: 60, ‘英语’: ‘english’, ‘adress’: ‘here’, ‘价格’: 100}

复制代码

方法二:使用update方法

#添加方法二:使用update方法添加
xx = {‘hhh’:‘gogogo’}
aa.update(xx)
print(aa) # {‘人才’: 60, ‘英语’: ‘english’, ‘adress’: ‘here’, ‘价格’: 100, ‘hhh’: ‘gogogo’}

  1. 删除字典元素

方法一:del函数

删除方法一:使用del函数

del[aa[‘adress’]]
print(aa) # {‘人才’: 60, ‘英语’: ‘english’, ‘价格’: 100, ‘hhh’: ‘gogogo’}

方法二:pop函数

#删除方法二:使用pop函数,并返回值
vv = aa.pop(‘人才’)
print(vv) # 60
print(aa) # {‘英语’: ‘english’, ‘价格’: 100, ‘hhh’: ‘gogogo’}

方法三:clear函数

clear方法,删除所有

aa.clear()
print(aa) # {},为空

注:

python中的dict(字典):

  1. 字典是另一种可变容器模型,每个键值对用冒号 (😃 分割,每个键值对之间用逗号 (,) 分割,整个字典由花括号 {}包围 ;

  2. 字典中的键一般是唯一的,如果重复则后面的一个键值对会覆盖前面的,不过字典的值不需要唯一;

  3. 值可以取任意数据类型,但键必须是不可变类型,例如字符串,数字或元组,但不能是列表因为列表可变。

6-1 人 :使用一个字典来存储一个熟人的信息,包括名、姓、年龄和居住的城市。该字典应包含键 first_name 、 last_name 、 age 和 city 。将存储在该字典中的每项信息都打印出来。

message = {'first_name': 'Lisa', 'last_name': 'Lin', 'age': '18', 'city': 'berlin' }
 print(message)

6-2 喜欢的数字 :使用一个字典来存储一些人喜欢的数字。请想出 5 个人的名字,并将这些名字用作字典中的键;想出每个人喜欢的一个数字,并将这些数字作为值存储在字典中。打印每个人的名字和喜欢的数字。为让这个程序更有趣,通过询问朋友确保数据是真实的。

favorite_number = {'Adam': '1', 'Mickey': '2', 'Kenny': '3', 'Isaac': '4', 'Kevin': '5', 'Gabriel': '6'}
for key, value in favorite_number.items():
 print( key + " 's favorite number is: " + value)

6-3 词汇表 : Python 字典可用于模拟现实生活中的字典,但为避免混淆,我们将后者称为词汇表。想出你在前面学过的 5 个编程词汇,将它们用作词汇表中的键,并将它们的含义作为值存储在词汇表中。以整洁的方式打印每个词汇及其含义。为此,你可以先打印词汇,在它后面加上一个冒号,再打印词汇的含义;也可在一行打印词汇,再使用换行符( \n )插入一个空行,然后在下一行以缩进的方式打印词汇的含义

在这里插入代码片

6-5 河流 :创建一个字典,在其中存储三条大河流及其流经的国家。其中一个键 — 值对可能是 ‘nile’: ‘egypt’ 。
使用循环为每条河流打印一条消息,如 “The Nile runs through Egypt.” 。
使用循环将该字典中每条河流的名字都打印出来。
使用循环将该字典包含的每个国家的名字都打印出来。

rivers = {'Nile': ['Egpt', 'Sudan'], 'Amazon': ['Colombia', 'Peru'], 'Cj': 'China'}
for river, country in rivers.items():
    print("The " + str(river) + " runs through " + str(country) + ".")
for river in rivers.keys():
    print("River :" + str(river))
for country in rivers.values():
    print("Country :" + str(country))

6-6 调查 :在 6.3.1 节编写的程序 favorite_languages.py 中执行以下操作。
创建一个应该会接受调查的人员名单,其中有些人已包含在字典中,而其他人未包含在字典中。
遍历这个人员名单,对于已参与调查的人,打印一条消息表示感谢。对于还未参与调查的人,打印一条消息邀请他参与调查。

lists = {'Adam', 'Alex', 'Carl', 'Cristian', 'Evan', 'Franklin', 'Gabriel'}
investigation = {'Adam': '1', 'Mickey': '2', 'Kenny': '3', 'Isaac': '4', 'Kevin': '5', 'Gabriel': '6'}
for list in lists:
    if list in investigation.keys():
        print(list.title() + ", Thank you for your cooperate!")
    else:
        print(list.title() + ", Please cooperate with the investigation")

6-7 人 :在为完成练习 6-1 而编写的程序中,再创建两个表示人的字典,然后将这三个字典都存储在一个名为 people 的列表中。遍历这个列表,将其中每个人的所有信息都打印出来。

peoples = {
       'A': {'first': 'Lisa',
             'last': 'Nike',
             'age': '18',
             'city': 'berlin'
            },

       'B':  {'first': 'Allen',
              'last': 'Iverson',
              'age': '99',
              'city': 'Philadelphia'
             },

        'C': {'first': 'Ford',
              'last': 'Smith',
              'age': '137',
              'city': 'New York'
             }
    }
for username, user_info in peoples.items():
    print("\nUsername: " + username)
    full_name = user_info['first'] + " " + user_info['last']
    age = user_info['age']
    city = user_info['city']
    print("\tFull_name: " + str(full_name))
    print("\tAge: " + age.title())
    print("\tCity: " + city.title())

6-8 宠物 :创建多个字典,对于每个字典,都使用一个宠物的名称来给它命名;在每个字典中,包含宠物的类型及其主人的名字。将这些字典存储在一个名为 pets的列表中,再遍历该列表,并将宠物的所有信息都打印出来。

pets = {
    'gloria':{'kinds': 'Teddy',
               'master': 'Hallen'
              },

    'heby': {'kinds': 'poodle',
             'master': 'Aleen'
             },

    'fay': {'kinds': 'shiba lnu',
            'master': 'rob'
             },

    'sunday': {'kinds': 'chihuahua',
               'master': 'Ethan'
               }
}
for Pet_name,Pet_info  in pets.items():
    print("\nName: " + Pet_name)
    kinds = Pet_info['kinds']
    master = Pet_info['master']
    print("kinds: " + kinds)
    print("Master: " + master)

6-9 喜欢的地方 :创建一个名为 favorite_places 的字典。在这个字典中,将三个人的名字用作键;对于其中的每个人,都存储他喜欢的 1~3 个地方。为让这个练习更有趣些,可让一些朋友指出他们喜欢的几个地方。遍历这个字典,并将其中每个人的名字及其喜欢的地方打印出来。

favorite_places = {
    'Duke': ['Bahrain', 'Austria', 'Canada'],

    'Bobby': ['Cape Verde', 'Denmark', 'Djibouti'],

    'Gino': ['East Timor', 'France', 'Germany']
}
for name, countrys in favorite_places.items():
 print(name.title() + "'s favorite country is: ")
 for country in countrys:
     print("\t" + country.title())

6-10 喜欢的数字 :修改为完成练习 6-2 而编写的程序,让每个人都可以有多个喜欢的数字,然后将每个人的名字及其喜欢的数字打印出来。

favorite_number = {'Adam': [1, 2, 3], 'Mickey': [19, 25, 23], 'Kenny': [35, 13,79], 'Isaac': [18, 23, 49], 'Kevin': [73, 19, 23], 'Gabriel': [23, 94, 28]}
for key, value in favorite_number.items():
 print( key + " 's favorite number is: " + str(value))

6-11 城市 :创建一个名为 cities 的字典,其中将三个城市名用作键;对于每座城市,都创建一个字典,并在其中包含该城市所属的国家、人口约数以及一个有关该城市的事实。在表示每座城市的字典中,应包含 country 、 population 和 fact 等键。将每座城市的名字以及有关它们的信息都打印出来。

for cityname, city_info in cities.items():
 print("\nCityname: " + cityname)
 popuration = city_info['popuration']
 fact = city_info['fact']
 print("\tPopuration: " + popuration.title())
 print("\tFact: " + fact.title())

6-12 扩展 :本章的示例足够复杂,可以以很多方式进行扩展了。请对本章的一个示例进行扩展:添加键和值、调整程序要解决的问题或改进输出的格式。

在这里插入代码片
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值