天道酬勤,学无止境

从python中的dict中删除值(Removing values from dict in python)

问题

这段代码:

a = {'sd':{},'sdd':'','sadfas':None,'sadfa':'dsf'}
a = dict((k, v) for k, v in a.iteritems() if v is not '' or v != {} or v is not None)
print a

印刷:

{'sdd': '', 'sadfas': None, 'sadfa': 'dsf', 'sd': {}}

但是,它不会从我需要删除的 dict 中删除所有类型的值。 这是为什么 ?

如果我这样做,这些值将被删除:

a = {'sd':{},'sdd':'','sadfas':None,'sadfa':'dsf'}

a=dict((k, v) for k, v in a.iteritems() if v is not '')
a=dict((k, v) for k, v in a.iteritems() if v is not None)
a=dict((k, v) for k, v in a.iteritems() if v)

print a

这打印:

{'sadfa': 'dsf'}

这是我们想要的,但我必须遍历字典 3 次才能实现。 您能否提出更优化的方法。

回答1

这里有两个问题:

  1. v is not ''应该是v != '' 。 您应该始终使用==!=来比较两个值,因为isis not用于比较两个对象的身份

  2. 您需要使用and而不是or 。 否则,这个条件:

     v != '' or v != {} or v is not None

    将始终为True因为v将始终不等于''或不等于{}

以下是您的代码的固定版本:

>>> a = {'sd':{},'sdd':'','sadfas':None,'sadfa':'dsf'}
>>> a = dict((k, v) for k, v in a.iteritems() if v != '' and v != {} and v is not None)
>>> a
{'sadfa': 'dsf'}
>>>

但是,我们可以进一步简化:

>>> a = {'sd':{},'sdd':'','sadfas':None,'sadfa':'dsf'}
>>> a = dict((k, v) for k, v in a.iteritems() if v)
>>> a
{'sadfa': 'dsf'}
>>>

此解决方案有效,因为''{}None都评估为False

回答2
empties = ('', {}, None)
{k:v for k,v in a.items() if v not in empties}
# for your input this would work too, 
# as all 'emtpies' evaluate to False:
{k:v for k,v in a.items() if v}

# or if you want to remove in-place:
for key in a.keys():
    # if a[key] in empties:
    if not a[key]:
        del a[key]

以上适用于python 2.7+,如果您需要早期版本的解决方案,您可以使用dict()和生成器理解:

dict((k,v) for (k,v) in a.items() if v)
# or
dict(element for element in a.items() if element[1])
回答3

你只需要这个:

dict([x for x in d.items() if x[1]])

因为'' , None , {}代表同样的东西False ,当它们用于if

标签

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • 根据值从字典中删除条目(Removing entries from a dictionary based on values)
    问题 我有一本包含字符-整数键-值对的字典。 我想删除所有值为0的键值对。 例如: >>> hand {'a': 0, 'i': 0, 'm': 1, 'l': 1, 'q': 0, 'u': 0} 我想将同一本字典简化为: >>> hand {'m': 1, 'l': 1} 有没有简单的方法可以做到这一点? 回答1 您可以使用dict理解: >>> { k:v for k, v in hand.items() if v } {'m': 1, 'l': 1} 或者,在2.7之前的Python中,将dict构造函数与生成器表达式结合使用: >>> dict((k, v) for k, v in hand.iteritems() if v) {'m': 1, 'l': 1} 回答2 hand = {k: v for k, v in hand.iteritems() if v != 0} 对于Python 2.7之前的版本: hand = dict((k, v) for k, v in hand.iteritems() if v != 0) 在这两种情况下,您都将筛选出值为0的键,并将hand分配给新字典。 回答3 如果您不想创建新字典,可以使用以下命令: >>> hand = {'a': 0, 'i': 0, 'm': 1, 'l': 1, 'q': 0, 'u': 0} >>>
  • 在Python中从列表列表中删除重复项(Removing duplicates from list of lists in Python)
    问题 如果想基于每个嵌套列表的第一个元素评估重复项,谁能提出一个好的解决方案从嵌套列表中删除重复项? 主列表如下所示: L = [['14', '65', 76], ['2', '5', 6], ['7', '12', 33], ['14', '22', 46]] 如果已经在第一位置[k][0]处存在另一个具有相同元素的列表,那么我想删除该列表并得到以下结果: L = [['14', '65', 76], ['2', '5', 6], ['7', '12', 33]] 您可以建议一种算法来实现此目标吗? 回答1 您是否关心保留订单/删除了哪些重复项? 如果不是,则: dict((x[0], x) for x in L).values() 会做的。 如果您想保留订单并想保留第一个订单,则: def unique_items(L): found = set() for item in L: if item[0] not in found: yield item found.add(item[0]) print list(unique_items(L)) 回答2 像这样使用dict: L = {'14': ['65', 76], '2': ['5', 6], '7': ['12', 33]} L['14'] = ['22', 46] 如果您是从某个外部来源收到第一个列表,则将其转换为:
  • 从python字典中删除重复键但对值求和(Removing duplicate keys from python dictionary but summing the values)
    问题 我在 python 中有一本字典 d = {tags[0]: value, tags[1]: value, tags[2]: value, tags[3]: value, tags[4]: value} 想象一下,这个 dict 是 10 倍大,它有 50 个键和 50 个值。 可以在此标签中找到重复项,但即使如此,值也是必不可少的。 我怎样才能简单地修剪它以接收新的 dict 而不使用重复的键,而是使用值的总和? d = {'cat': 5, 'dog': 9, 'cat': 4, 'parrot': 6, 'cat': 6} 结果 d = {'cat': 15, 'dog': 9, 'parrot': 6} 回答1 我想改进 Paul Seeb 的回答: tps = [('cat',5),('dog',9),('cat',4),('parrot',6),('cat',6)] result = {} for k, v in tps: result[k] = result.get(k, 0) + v 回答2 tps = [('cat',5),('dog',9),('cat',4),('parrot',6),('cat',6)] from collections import defaultdict dicto = defaultdict(int) for k,v in tps
  • Python:如何从NESTED数据结构(列表和字典)中删除None值?(Python: How RECURSIVELY remove None values from a NESTED data structure (lists and dictionaries)?)
    问题 这是一些嵌套的数据,其中包括列表,元组和字典: data1 = ( 501, (None, 999), None, (None), 504 ) data2 = { 1:601, 2:None, None:603, 'four':'sixty' } data3 = OrderedDict( [(None, 401), (12, 402), (13, None), (14, data2)] ) data = [ [None, 22, tuple([None]), (None,None), None], ( (None, 202), {None:301, 32:302, 33:data1}, data3 ) ] 目标:从“数据”中删除无的任何键或值。 如果列表或字典包含一个值,该值本身就是列表,元组或字典,则请RECURSE删除NESTED Nones。 所需的输出: [[22, (), ()], ((202,), {32: 302, 33: (501, (999,), 504)}, OrderedDict([(12, 402), (14, {'four': 'sixty', 1: 601})]))] 或更容易理解的是,这里是格式化输出: StripNones(data)= list: . [22, (), ()] . tuple: . . (202,) . . {32: 302
  • 删除列表中的重复项(Removing duplicates in the lists)
    问题 我几乎需要编写一个程序来检查列表中是否有重复项,如果删除了重复项,则将其删除,并返回一个包含未重复项/已删除项的新列表。 这是我尝试过的方法,但老实说,我不知道该怎么办。 def remove_duplicates(): t = ['a', 'b', 'c', 'd'] t2 = ['a', 'c', 'd'] for t in t2: t.append(t.remove()) return t 回答1 获取唯一项目集合的常见方法是使用集合。 集是不同对象的无序集合。 要从任何迭代创建集合,只需将其传递给内置的set()函数即可。 如果以后再次需要真实列表,则可以类似地将集合传递给list()函数。 下面的示例应涵盖您尝试执行的所有操作: >>> t = [1, 2, 3, 1, 2, 5, 6, 7, 8] >>> t [1, 2, 3, 1, 2, 5, 6, 7, 8] >>> list(set(t)) [1, 2, 3, 5, 6, 7, 8] >>> s = [1, 2, 3] >>> list(set(t) - set(s)) [8, 5, 6, 7] 从示例结果中可以看出,原始订单未得到维护。 如上所述,集合本身是无序集合,因此顺序丢失。 将集合转换回列表时,将创建任意顺序。 维持秩序 如果订单对您很重要,那么您将不得不使用其他机制。
  • 从嵌套词典中删除字段的优雅方法(Elegant way to remove fields from nested dictionaries)
    问题 我不得不从字典中删除一些字段,这些字段的键在列表中。 所以我写了这个函数: def delete_keys_from_dict(dict_del, lst_keys): """ Delete the keys present in lst_keys from the dictionary. Loops recursively over nested dictionaries. """ dict_foo = dict_del.copy() #Used as iterator to avoid the 'DictionaryHasChanged' error for field in dict_foo.keys(): if field in lst_keys: del dict_del[field] if type(dict_foo[field]) == dict: delete_keys_from_dict(dict_del[field], lst_keys) return dict_del 该代码可以工作,但是它不是很好,我敢肯定会有更好的解决方案。 回答1 首先,我认为您的代码可以正常运行,而且效果不佳。 没有立即的理由不使用您提供的代码。 不过,有些事情可能会更好: 比较类型 您的代码包含以下行: if type(dict_foo[field]) == dict
  • 在python中按值删除字典项的最佳方法是什么? [复制](What is the best way to remove a dictionary item by value in python? [duplicate])
    问题 这个问题已经在这里有了答案: 根据值从字典中删除条目(4个答案) 1年前关闭。 我想知道是否有一种简单的方法可以通过value从python字典中删除一个或多个字典元素。 我们有一个名为myDict的字典: myDict = {1:"egg", "Answer":42, 8:14, "foo":42} 并要删除所有值等于42 。 实施建议: 获取myDict某个值的所有键的列表 (例如,参见在字典中按值获取密钥。) 从myDict删除此dict元素或多个元素(基于找到的键) (有关更多信息,请参阅从字典中删除元素。) 那么,您认为现在在Python中实现此问题的最优雅,最“ Python式”的方式是什么? 回答1 您可以使用简单的dict理解: myDict = {key:val for key, val in myDict.items() if val != 42} 因此: >>> {key:val for key, val in myDict.items() if val != 42} {8: 14, 1: 'egg'} 回答2 您必须创建一个副本以进行迭代,因为在循环内更改字典的大小会导致RunTimeError。 使用items()遍历字典副本中的键,值对,并将每个值与所需的值进行比较。 如果它们匹配,请从字典中删除密钥。 for key, value in dict
  • Python_学习之基础数据类型
    目录: int 整数 bool布尔 str字符串 list列表 tuple元祖 dict字典 set集合 数据类型之间的转换 列表与字典的删除 有序字典 枚举 深浅拷贝 按哈希分类 不可哈希的数据类型即可变数据类型:list、dict、set 可哈希的数据类型即不可变数据类型:int、str、tuple、bool python通过方法type(对象)获取对象的数据类型 1. int 整数特点:不可变、无序 表示方法:a=1 可用的函数方法: # 查看所占字节长度,几乎不用 ret = int.bit_length(333) print(ret) --->9 # 将小数转为整数 int(12.34) ---> 12 # 常用于进制转换 二进制:1与0组成,0b开头表示 八进制:0~7组成,逢8进1,0o开头 十进制:0~9组成,逢10进1, 十六进制:0~9~a~f组成,0x开头 进制转换原理,是先将n转化为10进制,然后调用相关方法进行对应进制转换 bin(n) 将n转化为2进制 oct(n) 将n转化为8进制 hex(n) 将n转化为16进制 将2进制转化为10进制 int(n,2) 将2进制转化为8进制 oct(int(n,2)) 将2进制转化为16进制 hex(int(n,2)) 将8进制转化为2进制 bin(int(n,8)) 将10进制转化为2进制 bin(int(n))
  • 从列表列表中删除重复项(Removing duplicates from a list of lists)
    问题 我在Python中有一个列表列表: k = [[1, 2], [4], [5, 6, 2], [1, 2], [3], [4]] 我想从中删除重复的元素。 如果它是正常列表,而不是我可以使用set的列表。 但不幸的是,该列表不可散列,因此无法建立一组列表。 只有元组。 因此,我可以将所有列表转换为元组,然后使用set并返回列表。 但这不是很快。 如何以最有效的方式做到这一点? 上面的结果应为: k = [[5, 6, 2], [1, 2], [3], [4]] 我不在乎保留订单。 注意:这个问题是相似的,但不是我所需要的。 搜索了SO,但没有找到确切的重复项。 基准测试: import itertools, time class Timer(object): def __init__(self, name=None): self.name = name def __enter__(self): self.tstart = time.time() def __exit__(self, type, value, traceback): if self.name: print '[%s]' % self.name, print 'Elapsed: %s' % (time.time() - self.tstart) k = [[1, 2], [4], [5, 6, 2], [1, 2
  • Python dict 字典详解
    Python 字典(dict)是一种无序的、可变的序列,它的元素以“键值对(key-value)”的形式存储。相对而言,列表(list)和元组(tuple)则都是有序的序列,它们的元素在底层是挨着存放的。 字典类型是 Python 中唯一的映射类型。“映射”是数学中的术语,简单理解,它指的是元素之间相互对应的关系,即通过一个元素,可以唯一找到另一个元素。如下图所示。 字典中,习惯将各元素对应的索引称为键(key),各个键对应的元素称为值(value),键及其关联的值称为“键值对”。 字典类型很像学生时代常用的新华字典。我们知道,通过新华字典中的音节表,可以快速找到想要查找的汉字。其中,字典里的音节表就相当于字典类型中的键,而键对应的汉字则相当于值。 总的来说,字典类型所具有的主要特征如下表所示。 主要特征解释通过键而不是通过索引来读取元素字典类型有时也称为关联数组或者散列表(hash)。它是通过键将一系列的值联系起来的,这样就可以通过键从字典中获取指定项,但不能通过索引来获取。字典是任意数据类型的无序集合和列表、元组不同,通常会将索引值 0 对应的元素称为第一个元素,而字典中的元素是无序的。字典是可变的,并且可以任意嵌套字典可以在原处增长或者缩短(无需生成一个副本),并且它支持任意深度的嵌套,即字典存储的值也可以是列表或其它的字典。字典中的键必须唯一字典中,不支持同一个键出现多次
  • Python 基础语法
    Python基础 基本数据类型算术运算符方法 关系运算符与逻辑运算符方法 布尔运算符列表 List方法 字符串方法 元组 tuple集 set方法方法 字典 dict访问字典里的值修改与添加删除字典元素内置函数内置方法 基本数据类型 算术运算符 方法 运算符运算符描述+加两个对象相加-减两个对象相减*乘两个对象相乘或是返回一个被重复若干次的字符串/除a除以b%取模返回除法的余数**幂返回a的b次幂//取整返回商的整数部分 关系运算符与逻辑运算符 方法 运算名运算符解释小于<小于运算符大于>大于运算符小于或等于<=小于或等于运算符大于或等于>=大于或等于运算符等于==相等运算符不等于!=不等于运算符逻辑与and两个运算数都为True时结果为True逻辑或or某一个运算数为True时结果为True逻辑非not对真值取反,False变为True,True变为False 布尔运算符 python通过对bool类实现对表达真值非常有用的布尔类型数据类型。布尔对象可能的状态值是True或者False,布尔运算符有and、or以及not >>>True True >>>False False >>>False and True False >>>not(False or True) False >>>True and True True 列表 List
  • Python编程 学习笔记(一) 基础知识篇
    文章目录 前言Python的执行方式Python的PyCodeObject 和 pyc 文件认识Python语法规范 一、数据类型1.变量2.字符串基本介绍字符串的分片与索引字符串的方法 3.列表更新列表删除列表元素Python列表脚本操作符Python列表函数&方法 4.元组创建空元组访问元组修改元组删除元组元组运算符元组索引,截取无关闭分隔符 5.字典(Dictionary)访问字典里的值修改字典删除字典元素字典键的特性字典内置函数&方法列表 6.集合创建集合增加元素删除元素:集合内置方法完整列表 二、Python标识符和保留字符1.标识符2.Python 保留字符 三、运算符1.Python算术运算符2.Python比较运算符3.Python赋值运算符4.Python位运算符5.Python逻辑运算符6.Python成员运算符7.Python身份运算符8.Python运算符优先级 四、语句(条件、循环)1.条件语句2.循环语句循环控制语句循环嵌套 五、函数1.函数格式2.函数调用3.函数参数4.参数传递可更改(mutable)与不可更改(immutable)对象python 函数的参数传递 5.匿名函数6.变量作用域介绍 前言 本文基于Python3 编写,实例均于Jupyter notebook编译 Python的执行方式 Python在执行时,首先会将
  • 基于前两个元素从嵌套列表中删除重复项(Removing Duplicates from Nested List Based on First 2 Elements)
    问题 我试图仅在前两个元素相同的情况下才从嵌套列表中删除重复项,而忽略第三个... 列表: L = [['el1','el2','value1'], ['el3','el4','value2'], ['el1','el2','value2'], ['el1','el5','value3']] 将返回: L = [['el3','el4','value2'], ['el1','el2','value2'], ['el1','el5','value3']] 我在这里找到了一种简单的方法来做类似的事情: dict((x[0], x) for x in L).values() 但这仅适用于第一个元素而不适用于第一个2元素,但这正是我想要的。 回答1 如果顺序无关紧要,则可以使用相同的方法,但是将第一和第二个元素的元组用作键: dict(((x[0], x[1]), x) for x in L).values() 或在Python 2.7及更高版本上: {(x[0], x[1]): x for x in L}.values() 除了(x[0], x[1])您还可以使用tuple(x[:2]) ,使用任何可读性更高的值。 回答2 如果为了事项,使用set只有你的嵌套列表的前两个元素: seen = set() seen_add = seen.add return [x for x in seq
  • 从字符串中删除重复的字符(Removing duplicate characters from a string)
    问题 如何使用Python从字符串中删除重复的字符? 例如,假设我有一个字符串: foo = 'mppmt' 如何制作字符串: foo = 'mpt' 注意:顺序并不重要 回答1 如果顺序没关系,您可以使用 "".join(set(foo)) set()将在字符串中创建一组唯一的字母,而"".join()将以任意顺序将字母重新连接到字符串。 如果为了此事做,你可以使用一个dict ,而不是一个集,因为Python 3.7蜜饯键的插入顺序。 (在CPython实现中,Python 3.6作为实现的详细信息已支持此功能。) foo = "mppmt" result = "".join(dict.fromkeys(foo)) 产生字符串"mpt" 。 在Python的早期版本中,您可以使用collections.OrderedDict ,从Python 2.7开始就可以使用它。 回答2 如果为了事情呢,怎么样: >>> foo = 'mppmt' >>> ''.join(sorted(set(foo), key=foo.index)) 'mpt' 回答3 如果顺序无关紧要: >>> foo='mppmt' >>> ''.join(set(foo)) 'pmt' 保持订单: >>> foo='mppmt' >>> ''.join([j for i,j in enumerate(foo)
  • Python Pandas-根据先前获得的子集从数据框中删除行(Python Pandas - Removing Rows From A DataFrame Based on a Previously Obtained Subset)
    问题 我正在运行安装了Pandas 0.11.0库的Python 2.7 。 我一直在寻找一个尚未找到该问题答案的地方,所以我希望有人比我有解决方案的经验更丰富。 可以说,我在df1中的数据如下所示: df1= zip x y access 123 1 1 4 123 1 1 6 133 1 2 3 145 2 2 3 167 3 1 1 167 3 1 2 例如,使用df2 = df1[df1['zip'] == 123] ,然后使用df2 = df2.join(df1[df1['zip'] == 133])我得到了以下数据子集: df2= zip x y access 123 1 1 4 123 1 1 6 133 1 2 3 我想做的是: 1)从df1删除行,因为它们已与df2定义/合并 或者 2)创建df2之后,从df2组成的df1删除行(差异?) 希望所有这些都是有道理的。 请让我知道是否需要更多信息。 编辑: 理想情况下,将创建第三个数据框,如下所示: df2= zip x y access 145 2 2 3 167 3 1 1 167 3 1 2 也就是说, df1中的所有内容都不在df2 。 谢谢! 回答1 我想到两个选择。 首先,使用isin和一个遮罩: >>> df zip x y access 0 123 1 1 4 1 123 1 1 6 2 133 1
  • 在Python中,什么时候使用字典,列表或集合?(In Python, when to use a Dictionary, List or Set?)
    问题 我什么时候应该使用字典,列表或集合? 是否存在更适合每种数据类型的方案? 回答1 list保留顺序,而dict和set则不保留:因此,当您关心顺序时,必须使用list (如果容器的选择当然仅限于这三个;-)。 dict每个键与一个值相关联,而list和set仅包含值:很明显,用例非常不同。 set要求项目是可哈希的, list则不是:如果您有不可哈希的项目,则不能使用set而必须使用list 。 set禁止重复, list不禁止:也是至关重要的区别。 (可以在collections.Counter找到“多重集”,该集合将重复项映射到不止一次存在的项目的不同计数中dict如果出于某些奇怪的原因而无法导入collections ,则可以将其作为dict ,或者,在2.7之前的Python中,作为collections.defaultdict(int) ,使用项目作为键,并将相关值作为计数)。 在set检查值的隶属关系(或对于键来说是dict )非常快(花费一个恒定的短时间),而在列表中,它花费的时间与列表的平均和最坏情况下的长度成正比。 因此,如果您具有可散列的项目,则不关心顺序或重复项,并且想要快速进行成员资格检查,则set比list更好。 回答2 您是否只需要订购的物品序列? 找一个清单。 你只需要知道你是否已经有了一个特定的值,但不排序(你不需要存储复本)? 使用一套。
  • python第二版7章笔记--映射和集合类型
    7.1 映射 字典是 Python 语言中唯一的映射类型。映射类型对象里哈希值(键) 和指向的对象(值)是一对多的关系。 它们与 Perl 中的哈希类型(译者注:又称关联数组)相似,通常被认为是可变的哈希表。一个字典对象是可变的,它是一个容器类型,能存储任意个数的 Python 对象,其中也包括其他容器类型。字典类型和序列类型容器类(列表、元组)的区别是存储和访问数据的方式不同。序列类型只用数字类型的键(从序列的开始起按数值顺序索引)。映射类型可以用其他对象类型做键;一般最常见的是用字符串做键(keys)。和序列类型的键不同,映射类型的键(keys)直接,或间接地和存储的数据值相关联。但因为在映射类型中,我们不再用"序列化排序"的键(keys),所以映射类型中的数据是无序排列的。如何创建字典和给字典赋值 dict2 = {'name': 'earth', 'port': 80} dict2 = {'name': 'earth', 'port': [80,21]}如何访问字典中的值 dict2.keys() dict2[key] dict2.values()has_key() 方法在未来Python 版本中弃用,所以用 in 或 not in 是最好的方法 'server' in dict2 # 或 dict2.has_key('server')如何更新字典 dict2['name'
  • python - 递归删除字典键?(python - recursively deleting dict keys?)
    问题 I'm using Python 2.7 with plistlib to import a .plist in a nested dict/array form, then look for a particular key and delete it wherever I see it. When it comes to the actual files we're working with in the office, I already know where to find the values -- but I wrote my script with the idea that I didn't, in the hopes that I wouldn't have to make changes in the future if the file structure changes or we need to do likewise to other similar files. Unfortunately I seem to be trying to modify a dict while iterating over it, but I'm not certain how that's actually happening, since I'm using
  • [Python学习日记] 掌握字典与集合
    [Python学习日记] 掌握字典与集合 目录字典格式访问字典里的值修改字典字典内置函数&方法 集合创建格式集合的基本操作集合内置方法 目录 第八天学习Python,今天学习掌握字典与集合。 字典 字典是另一种可变容器模型,且可存储任意类型对象。 格式 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 格式如下所示 d = {key1 : value1, key2 : value2 } 注意 键必须是唯一的,但值则不必。 值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。 字典实例 dict0 = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'} dict1 = { 'abc': 456 } dict2 = { 'abc': 123, 98.6: 37 } 访问字典里的值 实例 dict = {'Name': 'Hello', 'Age': 7, 'Class': 'First'} print ("dict['Name']: ", dict['Name']) print ("dict['Age']: ", dict['Age']) 以上实例输出结果 dict['Name']: Hello dict['Age']: 7 修改字典
  • 7、python元组&字典——旺仔
    python:元组&字典 1、数据结构简介2、元组tuple2.1、元组简介2.2、元组的表达形式及创建2.3、拆包 3、字典dict3.1、字典简介3.2、字典创建3.3、字典的修改(增删改查)3.3.1、len()3.3.2、in 与 not in3.3.3、获取值3.3.4、修改字典3.3.5、dict.setdefault添加key-value3.3.6、dict.update()3.3.7、del 关键字删除3.3.8、dict.popitem()随机删除3.3.9、dict.pop 删除3.3.10、清空字典 3.4、字典的遍历 4、深拷贝和浅拷贝4.1、什么是深拷贝和浅拷贝?4.2、实际操作 5、课后作业5.1、第一题5.2、第二题 6、附加(个人练习题——字典)统计1000个随机数中重复的数字 旺仔注: 1、数据结构简介 数据结构(Data Structures)基本上人如其名——它们只是一种结构,能够将一些数据聚合 在一起。换句话说,它们是用来存储一系列相关数据的集合。Python中有四种内置的数据结构——列表(List)、元组(Tuple)、字典(Dictionary)和集合(Set)列表在上一章博客。本章博客中将介绍元组(Tuple)、字典(Dictionary)。 2、元组tuple 2.1、元组简介   元组用于将多个对象保存到一起,近似看作列表