首页 > 编程语言 >python字典中删除键值的方法

python字典中删除键值的方法

时间:2023-11-22 16:48:14浏览次数:42  
标签:apple 删除 python fruit dict 键值 字典

一、pop()方法删除key

Python字典是一种无序的映射数据类型,通过键值对的形式进行存储,可以使用键来快速找到对应的值。在某些情况下,我们可能需要在字典中删除某个键,这时候就可以使用Python字典提供的pop()方法。

pop()方法用于删除字典中指定的键,并返回该键对应的值。使用该方法时需传入一个参数,即要删除的键的名称。

# 定义一个字典
fruit_dict = {'apple': 10, 'banana': 20, 'orange': 30}
# 删除键为"apple"的元素
res = fruit_dict.pop('apple')
# 输出删除后的字典和返回的值
print(fruit_dict) # {'banana': 20, 'orange': 30}
print(res) # 10

注:若要删除的键不存在,则pop()会报错;若要删除的键不存在,可设置默认值,避免报错。

二、del删除字典中key-value

Python字典中的删除操作还可以使用del语句。del语句可以用于删除字典中的键值对。

# 定义一个字典
fruit_dict = {'apple': 10, 'banana': 20, 'orange': 30}
# 删除键为"apple"的元素
del fruit_dict['apple']
# 输出删除后的字典
print(fruit_dict) # {'banana': 20, 'orange': 30}

三、dict comprehension删除key-value

另外一种Python中删除字典key的方式是使用字典推导式。字典推导式是一种创建字典的语法,它可以根据已有的字典来创建一个新的字典。通过将需要删除的键从原字典中排除,就可以实现删除操作。

# 定义一个字典
fruit_dict = {'apple': 10, 'banana': 20, 'orange': 30}
# 删除键为"apple"的元素
fruit_dict = {k: v for k, v in fruit_dict.items() if k != 'apple'}
# 输出删除后的字典
print(fruit_dict) # {'banana': 20, 'orange': 30}

四、使用filter()函数删除key-value

使用filter()函数可以过滤掉不需要的键值对,来实现删除操作。

# 定义一个字典
fruit_dict = {'apple': 10, 'banana': 20, 'orange': 30}
# 删除键为"apple"的元素
fruit_dict = dict(filter(lambda x: x[0] != 'apple', fruit_dict.items()))
# 输出删除后的字典
print(fruit_dict) # {'banana': 20, 'orange': 30}

五、使用字典的popitem()方法删除最后一个元素

popitem()方法用于删除字典中的最后一个键值对,并返回该键值对。在Python3.7之前,字典是无序的,因此,popitem()会删除任意一个键值对。而在Python3.7及以后的版本中,字典是有序的,popitem()会删除最后一个键值对。

# 定义一个字典
fruit_dict = {'apple': 10, 'banana': 20, 'orange': 30}
# 删除最后一个元素
fruit_dict.popitem()
# 输出删除后的字典
#学习中遇到问题没人解答?小编创建了一个Python学习交流群:711312441
print(fruit_dict) # {'apple': 10, 'banana': 20}

标签:apple,删除,python,fruit,dict,键值,字典
From: https://www.cnblogs.com/Pythonmiss/p/17849660.html

相关文章

  • python中四种方法提升数据处理的速度
    在数据科学计算、机器学习、以及深度学习领域,Python是最受欢迎的语言。Python在数据科学领域,有非常丰富的包可以选择,numpy、scipy、pandas、scikit-learn、matplotlib。但这些库都仅仅受限于单机运算,当数据量很大时,比如50GB甚至500GB的数据集,这些库的处理能力都显得捉襟见肘,打......
  • python中常见函数
    filter,reduce,和map是Python中用于对集合数据进行处理和转换的内置函数。它们分别用于筛选、归约和映射集合中的元素。filter函数:filter(function,iterable)用于筛选集合中的元素。它接受一个函数function和一个可迭代的对象iterable,并返回一个包含iterable中满足......
  • python多线程中一种错误的写法
    直接先上错误代码:importmultiprocessingdeffirst_way():init=3defprocess_function(item):result=item*initreturnresultdata=[1,2,3,4,5,6,7,8,9,10]pool=multiprocessing.Pool(processes=4)#创建一个......
  • Python基础知识
    一、先置知识1、标识符标识符由字母、数字、下划线组成。所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。标识符是区分大小写的。以下划线开头的标识符是有特殊意义的。以单下划线开头_foo的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用**fr......
  • 如何在Python中向一个集合添加值
    用Set.add()函数向一个集合只添加一个值从数学上讲,集合是一个在逻辑上有联系的不同对象的集合。在Python中,集合是一个内置的数据类型,它是无索引的和不可变的。这意味着我们可以通过一些特定的索引来访问集合项,而且我们不能修改集合内的现有数据。我们可以通过在Python中创建一个......
  • 使用Python协程并发测试cdn响应速度
    代码干净清爽才能看着赏心悦目:#!/usr/bin/envpython3.11importtimefromcontextlibimportcontextmanagerfromenumimportStrEnumimportanyioimporthttpx@contextmanagerdeftimeit(msg:str):start=time.time()yieldcost=time.time()-sta......
  • python wordcloud生成词云
    #!/usr/bin/envpython#coding:utf-8#pipinstallwordcloud#pipinstallmatplotlibimportwordcloudimportmatplotlib.pyplotaspltimportnumpyasnpfromPILimportImagetext="""给你一瓶魔法药水喝下去就不需要氧气给你一瓶魔法药水喝下去就不怕身体......
  • Python全局解释器锁GIL机制
    全局解释器锁GlobalInterpreterLock,CPython在解释器级别的一把锁,叫GIL全局解释器锁。程序编译成字节码,程序想跑多线程,但是GIL保证CPython进程中,同一时刻只能有一个线程执行字节码。所以,哪怕是在多CPU的情况下,即使每个线程恰好调度到了每个CPU上,有了这把大锁,同时只能有一个CPU......
  • 《最新出炉》系列初窥篇-Python+Playwright自动化测试-32-JavaScript的调用执行-下篇
    1.简介 在实际工作中,我们需要对处理的元素进行高亮显示,或者有时候为了看清楚操作过程和步骤我们需要跟踪鼠标点击了哪些元素需要标记出来。虽然很少遇到,但是为了以后大家可以参考或者提供一种思路,今天宏哥就在这里把这种测试场景playwright是如何处理的讲解和分享一下。2.用法......
  • [951] Understanding the pattern of "(.*?)" in Python's re package
    InPython'sregularexpressions, (.*?)isacapturinggroupwithanon-greedyquantifier. Let'sbreakdownthecomponents:(and ):Parenthesesareusedtocreateacapturinggroup.Thisallowsustocaptureaportionofthematchedtext..*?:......