美文网首页Python相关
Python中关于字典的一些API

Python中关于字典的一些API

作者: DeeJay_Y | 来源:发表于2018-06-10 21:49 被阅读11次

Python中关于字典的一些API

clear()

obj = {
    'name': 'DeeJay',
    'age': 22,
    'gender': 'male'
}

obj.clear()

print(obj) # {}

pop(key) popitem()

obj = {
    'name': 'DeeJay',
    'age': 22,
    'gender': 'male'
}

popedGender = obj.pop('gender')

print(popedGender) # male

print(obj) # {'name': 'DeeJay', 'age': 22}

obj = {
    'name': 'DeeJay',
    'age': 22,
    'gender': 'male'
}

popItem = obj.popitem() # popitem()不接受参数

print(popItem) # ('gender', 'male')

print(obj) # {'name': 'DeeJay', 'age': 22}
 

update(dict2)

obj = {
    'name': 'DeeJay',
    'age': 22,
    'gender': 'male'
}

obj2 = {
    'hobby': 'game'
}

obj.update(obj2)

print(obj) # {'name': 'DeeJay', 'age': 22, 'gender': 'male', 'hobby': 'game'}

print(obj2) # {'hobby': 'game'}

copy()

obj = {
    'name': 'DeeJay',
    'age': 22,
    'gender': 'male'
}

obj2 = obj.copy() 

print(obj2) # {'name': 'DeeJay', 'age': 22, 'gender': 'male'}


对于copy()的拷贝,该API返回一个字典的浅拷贝,关于如何深拷贝,以后再进行介绍。

obj = {
    'name': 'DeeJay',
    'hobby': {
        'game': 'R6',
        'singer': 'krewella'
    }
}

obj2 = obj.copy() 

obj['name'] = 'deejay'

print(obj2) # {'name': 'DeeJay', 'hobby': {'game': 'R6', 'singer': 'krewella'}}

# 浅拷贝第一层是不同的引用,所有obj第一次改变,obj2并没有发生改变。

obj['hobby']['singer'] = 'TaylorSwift'

print(obj2) # {'name': 'DeeJay', 'hobby': {'game': 'R6', 'singer': 'TaylorSwift'}}

# 第二层就是相同的引用,所以obj改变,obj2也跟着变化了。

values(),keys(),items()

obj = {
    'name': 'DeeJay',
    'age': 22,
    'gender': 'male'
}

values = obj.values()

keys = obj.keys()

items = obj.items()

print(values) # dict_values(['DeeJay', 22, 'male'])

print(keys) # dict_keys(['name', 'age', 'gender'])

print(items) # dict_items([('name', 'DeeJay'), ('age', 22), ('gender', 'male')])

对于这三个方法,如果是Python2的话返回的都是列表

fromkeys(iterable,[defaultValue])

obj = dict.fromkeys(['key1','key2','key3'],'default')

print(obj) # {'key1': 'default', 'key2': 'default', 'key3': 'default'}

# fromkeys() 接受1-2个参数,第一个参数是一个可以迭代的对象,比如str,dict,tuple,list。
# 第二个参数(可选)为一个给定的默认value,不指定的话为None
# 最后返回的是一个新的dict,key为迭代的key,value为第二参数指定值

setdefault(key,defaultValue)

setdefault()get()类似,但是不同的地方在于,如果setdefault()方法没有找到指定的key,那么会相应的会创建一个key,其value为指定的第二参数,如果没指定即为None

obj = {}

obj.get('qq')

print(obj) # {}

obj.setdefault('qq',10086)

print(obj) # {'qq': 10086}

obj.setdefault('wechat')

print(obj) # {'qq': 10086, 'wechat': None}

相关文章

  • Python中关于字典的一些API

    Python中关于字典的一些API clear() pop(key) popitem() update(dict2...

  • python 不可变字典 inmutabledict的实现

    python inmutabledict的实现 关于在python中如何实现不可变字典的方法。早在pep416中,...

  • Python笔记setdefault用法

    Python字典中setdefault的用法: Python 字典 setdefault() 方法和get()方法...

  • python 中关于字典的键

    神奇的字典键 创建字典 Output: WTF"JavaScript" 怎么不见了? 说明: 1.Python 字...

  • 有序字典

    python中的字典 python中默认的字典是无序的,试下下面的代码 collections.OrderedDi...

  • 2018-11-08 037 字典?集合? A

    想要理解Python中关于字典和集合中的一些特性,他们背后的散列表是非常关键的一环,它们之所以具有这样的性质,基本...

  • Python中的字典

    Python中的字典就是JavaScript中的对象创建字典 访问字典中的值 使用len()方法获取字典中键值对的...

  • 第六章 字典

    6.2 使用字典 在Python中,字典是一系列键值对,任何Python对象都可用作字典的值Pyhone字典用花括...

  • 12.2-字典概念

    字典在Python中的地位排在第一,非常非常重要;Python中许多数据结构、计算机编程 都是基于字典; 1.字典...

  • 每日一课 | 你知道和不知道python字典都在这!!

    【导语】:你是否了解Python字典,以及创建Python字典都有哪些的实际的应用操作,还有如何访问字典中的值等等...

网友评论

    本文标题:Python中关于字典的一些API

    本文链接:https://www.haomeiwen.com/subject/hhvqeftx.html