Python入门学习11

本文详细介绍了Python字典的基本操作,包括创建、查看键值、添加键值对、更新与删除元素。通过实例展示了`fromkeys()`、`pop()`、`clear()`等方法的用法,以及字典视图对象的动态变化。此外,还讨论了字典的键必须唯一这一特性。
摘要由CSDN通过智能技术生成

>>> x={"吕布","关羽"}
>>> type(x)
<class 'set'>
>>> y={
"吕布":"口口布","关羽":"关习习"}   ---  前面的是字典的键  后面的是字典的值
>>> type(y)
<class 'dict'> 
--------字典   

>>> y["吕布"]
'口口布'
>>> y["关羽"]
'关习习'

>>> y["刘备"]="刘BEI"
>>> y
{'吕布': '口口布', '关羽': '关习习', '刘备': '刘BEI'}   

 ------------通过指定一个不存在于字典中的键 可以创建一个新的键值 

>>> a={"吕布":"口口布","关羽":"关习习"}
>>> b=dict(吕布="口口布",关羽="关习习")
>>> a==b
True

fromkeys (iterable[,values]) 方法,可以使用interable参数指定的可迭代对象创建一个新的字典,并将所有的值初始化为values参数指定的值

>>> d=dict.fromkeys("Fish",250)
>>> d
{'F': 250, 'i': 250, 's': 250, 'h': 250}

>>> d["F"]=70
>>> d
{'F': 70, 'i': 250, 's': 250, 'h': 250}

>>> d["C"]=67   -----没有的话,会加到后面
>>> d
{'F': 70, 'i': 250, 's': 250, 'h': 250, 'C': 67}

序列和字典的重大区别,在序列中 元素是可以重复的  而字典中的项 也就是键值对 一个键对应一个值 并不会存在重复的键

>>> d.pop('s')
250
>>> d
{'F': 70, 'i': 250, 'h': 250, 'C': 67} 
------这里S就被删除了

>>> d=dict.fromkeys("FishC",250)
>>> d
{'F': 250, 'i': 250, 's': 250, 'h': 250, 'C': 250}
>>> d.clear()
>>> d
{}

update 可以支持同时传入多个键值对 也可以直接给它传入另外一个字典

改:

>>> d=dict.fromkeys("FishC")
>>> d
{'F': None, 'i': None, 's': None, 'h': None, 'C': None}
>>> d["s"]=115
>>> d
{'F': None, 'i': None, 's': 115, 'h': None, 'C': None}
>>> d.update({"i":105,"h":103})
>>> d
{'F': None, 'i': 105, 's': 115, 'h': 103, 'C': None}

>>> d.update(F="70",C="67")
>>> d
{'F': '70', 'i': 105, 's': 115, 'h': 103, 'C': '67'}

>>> d["C"]
'67'
>>> d["c"]

Traceback (most recent call last):
  File "<pyshell#35>", line 1, in <module>
    d["c"]
KeyError: 'c'   
 报错

>>> d.get("c","这里没有")
'这里没有' 

>>> d.setdefault("C","code")
'67'
>>> d.setdefault("c","code")
'code'
>>> d
{'F': '70', 'i': 105, 's': 115, 'h': 103, 'C': '67', 'c': 'code'}

视图对象 即字典的动态视图 当字典内容发生改变 视图对象的内容也会随之发生改变

>>> keys=d.keys()
>>> values=d.values()
>>> items=d.items()
>>> items
dict_items([('F', '70'), ('i', 105), ('s', 115), ('h', 103), ('C', '67'), ('c', 'code')])
>>> values
dict_values(['70', 105, 115, 103, '67', 'code'])
>>> keys
dict_keys(['F', 'i', 's', 'h', 'C', 'c'])

>>> d.pop("c")   -----------视图会随之发生改变
'code'
>>> items
dict_items([('F', '70'), ('i', 105), ('s', 115), ('h', 103), ('C', '67')])

>>> len(d)
5
>>> "C"in d
True
>>> "c"in d
False

>>> list(d.values())
['70', 105, 115, 103, '67']

>>> e=iter(d)
>>> next(e)
'F'
>>> next(e)
'i'
>>> next(e)
's'
>>> next(e)
'h'
>>> next(e)
'C'
>>> next(e)

Traceback (most recent call last):
  File "<pyshell#61>", line 1, in <module>
    next(e)
StopIteration

嵌套

 



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值