python中字典的内置方法

2021-03-13 01:30

阅读:613

标签:插入   str   使用   返回字典   键值对   fir   false   span   迭代   

Python字典包含了以下内置方法: 

1、radiansdict.clear()

功能:字典 clear() 函数用于删除字典内所有元素。
语法:dict.clear()
参数:无
返回值:没有任何返回值。
dict = {Name: Zara, Age: 7}

print ("字典长度 : %d" %  len(dict))        # 字典长度 : 2
dict.clear()
print ("字典删除后长度 : %d" %  len(dict))  # 字典删除后长度 : 0
 

2、radiansdict.copy()

功能:字典 copy() 函数返回一个字典的浅复制。
语法:dict.copy()
参数:无
返回值:返回一个字典的浅复制
dict = {Name: Zara, Age: 7}
dict2 = dict.copy()
print ("新复制的字典为 : ",dict2)      # 输出:新复制的字典为 :  {‘Name‘: ‘Zara‘, ‘Age‘: 7}

   直接赋值和 copy 的区别

dict = {Name: Zara, Age: 7, num:[1,2,3]}

dict2 = dict
dict3 = dict.copy()

# 浅拷贝: 引用对象
print ("新复制的字典dict2为 : ",dict2)      # 输出:新复制的字典dict2为 :  {‘Name‘: ‘Zara‘, ‘Age‘: 7, ‘num‘:[1,2,3]}
# 浅拷贝:深拷贝父对象(一级目录),子对象(二级目录)不拷贝,还是引用
print ("新复制的字典dict3为 : ",dict3)      # 输出:新复制的字典dict3为 :  {‘Name‘: ‘Zara‘, ‘Age‘: 7, ‘num‘:[1,2,3]}

# 修改数据
dict[Name] = 张三
dict[num].remove(2)
print(修改数据后的字典dict为:,dict)       # 输出:修改数据后的字典dict为: {‘Name‘: ‘张三‘, ‘Age‘: 7, ‘num‘: [1, 3]}

# 输出结果
print(dict为:,dict)    # 输出:dict为: {‘Name‘: ‘张三‘, ‘Age‘: 7, ‘num‘: [1, 3]}
print(dict2为,dict2)    # 输出:dict2为 {‘Name‘: ‘张三‘, ‘Age‘: 7, ‘num‘: [1, 3]}
print(dict3为,dict3)    # 输出:dict3为 {‘Name‘: ‘Zara‘, ‘Age‘: 7, ‘num‘: [1, 3]}

说明:dict2 其实是 dict 的引用(别名),所以输出结果都是一致的,dict3 父对象进行了深拷贝,不会随dict 修改而修改,子对象是浅拷贝所以随 dict 的修改而修改。

  

3、radiansdict.fromkeys()

功能:fromkeys() 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。
语法:dict.fromkeys(seq[,value])
参数
  seq:字典键值列表。
  value: 可选参数, 设置键序列(seq)对应的值,默认为 None。
返回值:返回一个新字典。
seq = (name, age, sex)

dict = dict.fromkeys(seq)
print("新的字典为 : %s" %  str(dict))    # 输出:新的字典为 : {‘name‘: None, ‘age‘: None, ‘sex‘: None}

dict = dict.fromkeys(seq,10)
print("新的字典为 : %s" %  str(dict))    # 输出:新的字典为 : {‘name‘: 10, ‘age‘: 10, ‘sex‘: 10}

 

 4、radiansdict.get(key, default=None)

功能:get() 函数返回指定键的值。
语法:dict.get(key,default=None)
参数
  Key:字典中要查找的键。
  default: 如果指定的键不存在时,返回该默认值。
返回值:返回指定键的值,如果键不在字典中返回默认值 None 或者指定的默认值。
dict={name:张三,age:13,grade:7}

dict1 = dict.get(name)
print ("name 值为 : %s" %  dict.get(name))    # 输出:name 值为 : 张三

 

 5、key in dict

功能:字典 in 操作符用于判断键是否存在于字典中,如果键在字典 dict 里返回 true,否则返回 false
   而 not in 操作符刚好相反,如果键在字典 dict 里返回 false,否则返回 true。 语法:key in dict 参数
  Key:要在字典中查找的键。
返回值:如果键在字典里返回true,否则返回false。
dictName = {name:张三,age:13,grade:7}

# 检测 name 是否存在
if name in dictName:
    print("键 name 存在 dictName 中")
else:
    print("键 name 不存在 dictName 中")

# 检测 age 是否存在
if age in dictName:
    print("键 age 存在 dictName 中")
else:
    print("键 age 不存在 dictName 中")

# 检测 grade 是否存在
if grade not in dictName:
    print("键 grade 不存在 dictName 中")
else:
    print("键 grade 存在 dictName 中")

# 检测 Sex 是否存在
if sex not in dictName:
    print("键 sex 不存在 dictName 中")
else:
    print("键 sex 存在 dictName 中")

输出:
键 name 存在 dictName 中
键 age 存在 dictName 中
键 grade 存在 dictName 中
键 sex 不存在 dictName 中

 

6、radiansdict.items()

功能:items() 方法以列表返回可遍历的(键, 值) 元组数组。
语法:dict.items()
参数:无
返回值:返回可遍历的(键, 值) 元组数组。
dictName = {name:张三,age:13,grade:7}

print(dictName.items())     # 输出:dict_items([(‘name‘, ‘张三‘), (‘age‘, 13), (‘grade‘, 7)])

 

7、radiansdict.keys()

功能:字典 keys() 方法返回一个可迭代对象,可以使用 list() 来转换为列表。
语法:dict.keys()
参数:无
返回值:返回一个迭代器。
dictName = {name:张三,age:13,grade:7}

# 获取字典中key值的迭代器
print("返回字典dictName中的key值:",dictName.keys())    # 返回字典dictName中的key值: dict_keys([‘name‘, ‘age‘, ‘grade‘])

# 将迭代器转为列表
print(list(dictName.keys()))    # [‘name‘, ‘age‘, ‘grade‘]

 8、radiansdict.values()

功能: values() 方法返回一个迭代器,可以使用 list() 来转换为列表,列表为字典中的所有值。
语法:dict.values()
参数:无
返回值:返回迭代器。
dictName = {name:张三,age:13,grade:7}

# 获取字典中 value 值的迭代器
print("返回字典dictName中的value值:",dictName.values())    # 返回字典dictName中的value值: dict_values([‘张三‘, 13, 7])

# 将迭代器转为列表
print(list(dictName.values()))    # [‘张三‘, 13, 7]

 

9、radiansdict.setdefault(key, default=None)

功能:setdefault() 方法和 get()方法 类似, 如果键不已经存在于字典中,将会添加键并将值设为默认值。
语法:dict.setdefault(key,default=None)
参数
  Key:查找的键值。
  default: 键不存在时,设置的默认键值。
返回值:如果 key 在 字典中,返回对应的值。如果不在字典中,则插入 key 及设置的默认值 default,并返回 default ,default 默认值为 None。
dictName = {name:张三,age:13,grade:7}

print(dictName)     # 输出:{‘name‘: ‘张三‘, ‘age‘: 13, ‘grade‘: 7}
print("age 键的值为 : %s" % dictName.setdefault(age, None))   # 输出:age 键的值为 : 13
print("sex 键的值为 : %s" % dictName.setdefault(sex, ))   # 输出:sex 键的值为 : 男
print("新字典为:", dictName)    # 输出:新字典为: {‘name‘: ‘张三‘, ‘age‘: 13, ‘grade‘: 7, ‘sex‘: ‘男‘}

 

10、radiansdict.update(dict2)

功能:update()函数把字典参数 dict2 的 key/value(键/值) 对更新到字典 dict 里。
语法:dict.update(dict2)
参数
  dict:添加到指定字典dict里的字典。
返回值:没有任何返回值。
dictName = {name:张三,age:13,grade:7}
dictName2 = {Sex: female }

dictName.update(dictName2)
print("更新字典 dictName",dictName)

# 更新字典 dictName {‘name‘: ‘张三‘, ‘age‘: 13, ‘grade‘: 7, ‘Sex‘: ‘female‘}

 

11、pop(key[,default])

功能:pop() 方法删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
语法:dict.pop(key[,dafault])
参数
  key:要删除的键值。
  default:如果没有 key,返回 default 值
返回值:返回被删除的值。
dictName = {name:张三,age:13,grade:7}

Name = dictName.pop(name)
print(Name)     # 输出:张三
print(dictName.pop(age))  # 输出:13

 

12、popitem()

功能:字典 popitem() 方法随机返回并删除字典中的最后一对键和值。
语法:dict.popiltem()
参数:无
返回值:返回一个键值对(key,value)形式,按照 LIFO(Last In First Out 后进先出法) 顺序规则,即最末尾的键值对。
dictName = {name:张三,age:13,grade:7,sex:}

print(dictName) # 输出:{‘name‘: ‘张三‘, ‘age‘: 13, ‘grade‘: 7, ‘sex‘: ‘男‘}
Name = dictName.popitem()
print(Name)     # 输出:张三
print(dictName) # 输出:{‘name‘: ‘张三‘, ‘age‘: 13, ‘grade‘: 7}

 

python中字典的内置方法

标签:插入   str   使用   返回字典   键值对   fir   false   span   迭代   

原文地址:https://www.cnblogs.com/caiyongjiesmile/p/14057053.html

上一篇:python元组

下一篇:python列表中的函数


评论


亲,登录后才可以留言!