首页 后端开发 Python教程 Python Day-Dictionary-练习、任务

Python Day-Dictionary-练习、任务

Jan 03, 2025 am 04:44 AM

Python Day-Dictionary- Exercises, Tasks

字典-{}

-->将数据值存储在键:值对
中 -->有序、可更改且不允许重复。

练习:
1.

menu = {'idli':10, 'dosai':20, 'poori':30}
print(menu)

menu['pongal'] = 40 

del menu['idli']
print(menu)

print(menu['dosai'])

输出:

{'idli': 10, 'dosai': 20, 'poori': 30}
{'dosai': 20, 'poori': 30, 'pongal': 40}
20

2。要在空字典中添加键:值对,使用 get() 函数

time_table = {}

time_table['tamil'] = 10
time_table['english']= 10

print(time_table)

print(time_table['tamil'])
print(time_table.get('tamil'))
print(time_table.get('maths'))
print(time_table['maths'])

输出:

{'tamil': 10, 'english': 10}
10
10
None
KeyError: 'maths'

-->如果通常我们输入字典中没有的键,那么输出将是 KeyError。
-->相反,如果我们使用 get() 函数,它不会返回任何内容。

3.获取键、值以及两者

menu = {'idli':10, 'dosai':20, 'poori':30}
print(menu)
print(menu.keys())
print(menu.values())
print(menu.items())

输出:

{'idli': 10, 'dosai': 20, 'poori': 30}
dict_keys(['idli', 'dosai', 'poori'])
dict_values([10, 20, 30])
dict_items([('idli', 10), ('dosai', 20), ('poori', 30)])

Keys-->从字典中打印键(dict_name.keys())。
值-->打印字典中的值(dict_name.values())。
items-->将字典中的键和值打印为元组 (dict_name.items())。

4。从字典中单独获取键、值或项目。

fruits_menu = {'apple':100, 'banana':80, 'grapes':120}

for fruit in fruits_menu.keys():
    print(fruit)

for price in fruits_menu.values():
    print(price)

for fruit, price in fruits_menu.items():
    print(fruit, price)

输出:

apple
banana
grapes
100
80
120
apple 100
banana 80
grapes 120

5。如果键包含字母“e”,则打印值。

fruits_menu = {'apple':100, 'banana':80, 'grapes':120}

for fruit in fruits_menu.keys():
    if 'e' in fruit:
        print(fruits_menu[fruit])

输出:

100
120

6。将字典转换为元组或列表。

fruits_menu = {'apple':100, 'banana':80, 'grapes':120}

print(list(fruits_menu))
print(tuple(fruits_menu))

输出:

['apple', 'banana', 'grapes']
('apple', 'banana', 'grapes')

7。嵌套字典。

emp1 = {'name':'guru prasanna', 'qual':'B.Com'}
emp2 = {'name':'lakshmi pritha', 'qual': 'M.E'}

print(emp1)
print(emp2)

employees = {101:emp1, 102:emp2}
print(employees)

输出:

{'name': 'guru prasanna', 'qual': 'B.Com'}
{'name': 'lakshmi pritha', 'qual': 'M.E'}
{101: {'name': 'guru prasanna', 'qual': 'B.Com'}, 102: {'name': 'lakshmi pritha', 'qual': 'M.E'}}

8。从字典中单独获取员工姓名。

emp1 = {'name':'guru prasanna', 'qual':'B.Com'}
emp2 = {'name':'lakshmi pritha', 'qual': 'M.E'}


employees = {101:emp1, 102:emp2}
print(employees)

for roll_no, employee in employees.items():
    for key, value in employee.items():
        if key == 'name':
            print(employee[key])

输出:

{101: {'name': 'guru prasanna', 'qual': 'B.Com'}, 102: {'name': 'lakshmi pritha', 'qual': 'M.E'}}
guru prasanna
lakshmi pritha

9。单独获取 B.com 员工。

emp1 = {'name':'guru prasanna', 'qual':'B.Com'}
emp2 = {'name':'lakshmi pritha', 'qual': 'M.E'}

employees = {101:emp1, 102:emp2}

for roll_no, employee in employees.items():
    for key, value in employee.items():
        if value == 'B.Com':
            print(employee['name'])

输出:

guru prasanna

10。每个值增加 10%。

fruits_menu = {'apple':100, 'banana':80, 'grapes':120}
for fruit in fruits_menu.values():
    fruit=fruit+(fruit/10)
    print(fruit)

输出:

110.0
88.0
132.0

11。转换键-->价值观与价值-->键。

fruits_menu = {'apple':100, 'banana':80, 'grapes':120}
new_menu = {}

for fruit,price in fruits_menu.items():
    new_menu[price] = fruit

print(new_menu)

输出:

{100: 'apple', 80: 'banana', 120: 'grapes'}

字典理解

fruits_menu = {'apple':100, 'banana':80, 'grapes':120}

menu_dict = {(fruit,price) for fruit,price in fruits_menu.items()}
print(menu_dict)

menu_dict = {fruit: price for fruit,price in fruits_menu.items()}
print(menu_dict)

#To reverse key-->value and value-->key

menu_dict = {price : fruit for fruit,price in fruits_menu.items()}
print(menu_dict)

输出:

{('grapes', 120), ('apple', 100), ('banana', 80)}
{'apple': 100, 'banana': 80, 'grapes': 120}
{100: 'apple', 80: 'banana', 120: 'grapes'}

get()
get() 方法返回具有指定键的项的值。
-->如果字典中不存在键,则返回无。

fruits_menu = {'apple':100, 'banana':80, 'grapes':120}

print(fruits_menu.get('apple',"not available"))
print(fruits_menu.get('kiwi',"not available"))

输出:

100
not available

查找给定字符串中字母的频率

#frequency of each letter in a given string
freq = {}
name = 'guruprasanna'
for letter in name: 
    freq[letter] = freq.get(letter,0)+1

print(freq)

输出:

{'g': 1, 'u': 2, 'r': 2, 'p': 1, 'a': 3, 's': 1, 'n': 2}

将字典转换为集合

csk = {'dhoni':101, 'jadeja':102}
india = {'virat':103, 'jadeja':102}

print(set(csk))
print(set(india))

print(set(csk.keys()))
print(set(india.keys()))

输出:

{'dhoni', 'jadeja'}
{'virat', 'jadeja'}
{'dhoni', 'jadeja'}
{'virat', 'jadeja'}

setdefault()

--> setdefault() 方法返回具有指定键的项目的值。
-->如果键不存在,则插入具有指定值的键。

csk = {'dhoni':101, 'jadeja':102}
india = {'virat':103, 'jadeja':102}

csk.setdefault('rohit',100)
print(csk)
csk.setdefault('dhoni',100)
print(csk)

输出:

menu = {'idli':10, 'dosai':20, 'poori':30}
print(menu)

menu['pongal'] = 40 

del menu['idli']
print(menu)

print(menu['dosai'])

任务:

1。查找:
a) 两个团队都有共同点
b) 出现在任何一支球队
c) 总玩家姓名

{'idli': 10, 'dosai': 20, 'poori': 30}
{'dosai': 20, 'poori': 30, 'pongal': 40}
20

输出:

time_table = {}

time_table['tamil'] = 10
time_table['english']= 10

print(time_table)

print(time_table['tamil'])
print(time_table.get('tamil'))
print(time_table.get('maths'))
print(time_table['maths'])

2。查找字符串中单词的出现频率 - 'a Rose is a Rose is a Rose'。

{'tamil': 10, 'english': 10}
10
10
None
KeyError: 'maths'

输出:

menu = {'idli':10, 'dosai':20, 'poori':30}
print(menu)
print(menu.keys())
print(menu.values())
print(menu.items())

3。在字典中查找总分、平均分和高分。
玩家 = {'jaiswal':75, 'rohit':55, 'virat':95}

{'idli': 10, 'dosai': 20, 'poori': 30}
dict_keys(['idli', 'dosai', 'poori'])
dict_values([10, 20, 30])
dict_items([('idli', 10), ('dosai', 20), ('poori', 30)])

输出:

fruits_menu = {'apple':100, 'banana':80, 'grapes':120}

for fruit in fruits_menu.keys():
    print(fruit)

for price in fruits_menu.values():
    print(price)

for fruit, price in fruits_menu.items():
    print(fruit, price)
apple
banana
grapes
100
80
120
apple 100
banana 80
grapes 120

输出:

fruits_menu = {'apple':100, 'banana':80, 'grapes':120}

for fruit in fruits_menu.keys():
    if 'e' in fruit:
        print(fruits_menu[fruit])

以上是Python Day-Dictionary-练习、任务的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Python类中的多态性 Python类中的多态性 Jul 05, 2025 am 02:58 AM

多态是Python面向对象编程中的核心概念,指“一种接口,多种实现”,允许统一处理不同类型的对象。1.多态通过方法重写实现,子类可重新定义父类方法,如Animal类的speak()方法在Dog和Cat子类中有不同实现。2.多态的实际用途包括简化代码结构、增强可扩展性,例如图形绘制程序中统一调用draw()方法,或游戏开发中处理不同角色的共同行为。3.Python实现多态需满足:父类定义方法,子类重写该方法,但不要求继承同一父类,只要对象实现相同方法即可,这称为“鸭子类型”。4.注意事项包括保持方

Python函数参数和参数 Python函数参数和参数 Jul 04, 2025 am 03:26 AM

参数(parameters)是定义函数时的占位符,而传参(arguments)是调用时传入的具体值。1.位置参数需按顺序传递,顺序错误会导致结果错误;2.关键字参数通过参数名指定,可改变顺序且提高可读性;3.默认参数值在定义时赋值,避免重复代码,但应避免使用可变对象作为默认值;4.args和*kwargs可处理不定数量的参数,适用于通用接口或装饰器,但应谨慎使用以保持可读性。

解释Python发电机和迭代器。 解释Python发电机和迭代器。 Jul 05, 2025 am 02:55 AM

迭代器是实现__iter__()和__next__()方法的对象,生成器是简化版的迭代器,通过yield关键字自动实现这些方法。1.迭代器每次调用next()返回一个元素,无更多元素时抛出StopIteration异常。2.生成器通过函数定义,使用yield按需生成数据,节省内存且支持无限序列。3.处理已有集合时用迭代器,动态生成大数据或需惰性求值时用生成器,如读取大文件时逐行加载。注意:列表等可迭代对象不是迭代器,迭代器到尽头后需重新创建,生成器只能遍历一次。

python`@classmethod'装饰师解释了 python`@classmethod'装饰师解释了 Jul 04, 2025 am 03:26 AM

类方法是Python中通过@classmethod装饰器定义的方法,其第一个参数为类本身(cls),用于访问或修改类状态。它可通过类或实例调用,影响的是整个类而非特定实例;例如在Person类中,show_count()方法统计创建的对象数量;定义类方法时需使用@classmethod装饰器并将首参命名为cls,如change_var(new_value)方法可修改类变量;类方法与实例方法(self参数)、静态方法(无自动参数)不同,适用于工厂方法、替代构造函数及管理类变量等场景;常见用途包括从

如何处理Python中的API身份验证 如何处理Python中的API身份验证 Jul 13, 2025 am 02:22 AM

处理API认证的关键在于理解并正确使用认证方式。1.APIKey是最简单的认证方式,通常放在请求头或URL参数中;2.BasicAuth使用用户名和密码进行Base64编码传输,适合内部系统;3.OAuth2需先通过client_id和client_secret获取Token,再在请求头中带上BearerToken;4.为应对Token过期,可封装Token管理类自动刷新Token;总之,根据文档选择合适方式,并安全存储密钥信息是关键。

什么是python魔法方法或dunder方法? 什么是python魔法方法或dunder方法? Jul 04, 2025 am 03:20 AM

Python的magicmethods(或称dunder方法)是用于定义对象行为的特殊方法,它们以双下划线开头和结尾。1.它们使对象能够响应内置操作,如加法、比较、字符串表示等;2.常见用例包括对象初始化与表示(__init__、__repr__、__str__)、算术运算(__add__、__sub__、__mul__)及比较运算(__eq__、__lt__);3.使用时应确保其行为符合预期,例如__repr__应返回可重构对象的表达式,算术方法应返回新实例;4.应避免过度使用或以令人困惑的方

Python内存管理如何工作? Python内存管理如何工作? Jul 04, 2025 am 03:26 AM

Pythonmanagesmemoryautomaticallyusingreferencecountingandagarbagecollector.Referencecountingtrackshowmanyvariablesrefertoanobject,andwhenthecountreacheszero,thememoryisfreed.However,itcannothandlecircularreferences,wheretwoobjectsrefertoeachotherbuta

描述Python中的Python垃圾收集。 描述Python中的Python垃圾收集。 Jul 03, 2025 am 02:07 AM

Python的垃圾回收机制通过引用计数和周期性垃圾收集来自动管理内存。其核心方法是引用计数,当对象的引用数为零时立即释放内存;但无法处理循环引用,因此引入了垃圾收集模块(gc)来检测并清理循环。垃圾回收通常在程序运行中引用计数减少、分配与释放差值超过阈值或手动调用gc.collect()时触发。用户可通过gc.disable()关闭自动回收、gc.collect()手动执行、gc.set_threshold()调整阈值以实现控制。并非所有对象都参与循环回收,如不包含引用的对象由引用计数处理,内置

See all articles