首页 > 编程语言 >python3-dict

python3-dict

时间:2023-04-17 10:02:20浏览次数:39  
标签:__ 12 zf dict print self python3

1、介绍

builtins.py文件中定义了dict类,用于处理python中字典数据。

list也是python的基本数据类型之一。

2、类

class dict(object):
    def __init__(self, seq=None, **kwargs):
        pass

3、字面量初始化

  • 键必须是number、str和tuple这几种不可变类型,值可以是任意类型
  • 相同的键只会存在一个有效,默认是后添加或声明会覆盖前者
a = {}
a1 = {12:"abc", "zz":[12,22]}

4、类初始化

b = dict()
b1 = dict([["a",12], {"b",22}, ("c",33)])
print(b1) #{'a': 12, 'b': 22, 'c': 33}

b2 = dict(a=12, b=22, c=33)
print(b2) #{'a': 12, 'b': 22, 'c': 33}

5、属性

6、方法

(1)update

update(self, __m, kwargs)
  • 更新dict,如果键已经存在即更新,如果不存在则追加
d = {"a":12,"c":"15","b":"zf"}
print(d)# {'a': 12, 'c': '15', 'b': 'zf'}
d.update({"c":22,"d":"gg"})
print(d)# {'a': 12, 'c': 22, 'b': 'zf', 'd': 'gg'}

(2)get

get(self, key)
  • key为必要参数,返回键对应的值
  • 如果没有键,则返回None
  • 隐藏的第二个参数,default可以用于设置当没有键时返回的值

(3)pop

pop(self, key)
  • key为必要参数,返回键对应的值,并在dict中删除该键值对
  • 如果没有该键,则报错:KeyError: ‘bc’
  • 隐藏的第二个参数,default可以用于设置当没有键时返回的值

(4)copy

copy(self)
  • 返回克隆对象,浅复制
  • 对原dict的键进行值的克隆,对值进行地址克隆
  • 对原dict直接进行元素的增删,以及改变键的内容或者改变值的对象,不影响克隆对象
  • 但是直接对原dict的值的内部进行操作,会改变克隆对象
d = {"a":12,"c":[1,2],"b":"zf"}
d2 = d.copy()
d.get("c")[0]=55
print(d) # {'a': 12, 'c': [55, 2], 'b': 'zf'}
print(d2) # {'a': 12, 'c': [55, 2], 'b': 'zf'}

(5)clear

clear(self)
  • 清除

(6)items

items(self)<class 'dict_items'>
  • 返回类型是<class ‘dict_items’>
  • 获取的是字典的键值对
d = {"a":12,"c":[1,2],"b":"zf"}
print(d.items()) # [('a', 12), ('c', [1, 2]), ('b', 'zf')]

(7)keys

keys(self)

d = {"a":12,"c":[1,2],"b":"zf"}
print(type(d.keys())) # <class 'dict_keys'>
print(d.keys()) # ['a', 'c', 'b']
  • 获取字典的键

(8)values

values(self)

d = {"a":12,"c":[1,2],"b":"zf"}
print(type(d.values())) # <class 'dict_values'>
print(d.values()) #[12, [1, 2], 'zf']
  • 获取字典的值

(9)popitem

popitem(self)

d = {"a":12,"c":[1,2],"b":"zf"}
print(d.popitem()) # ('b', 'zf')
print(d) # {'a': 12, 'c': [1, 2]}
  • 获取最后一项键值对,类型是tuple
  • 并将其从dict中移除

(10)setdefault

setdefault(self, __key, __default=None)

d = {"a":12,"c":[1,2],"b":"zf"}
print(d.setdefault("c","gg"))#[1, 2]
print(d)#{'a': 12, 'c': [1, 2], 'b': 'zf'}
print(d.setdefault("d","gg"))#gg
print(d)#{'a': 12, 'c': [1, 2], 'b': 'zf', 'd': 'gg'}
  • 如果__key在dict中存在,返回__key在dict中作为键对应的值,不对dict做任何动作
  • 如果__key在dict中不存在,对dict增加{__key:__default},并返回__default
  • __default为非必要参数,默认值为None

(11)fromkeys

fromkeys(self, __iterable)

d = {"a":12,"c":[1,2],"b":"zf"}
print(d.fromkeys([12,22],0)) #{12: 0, 22: 0}
print(d)#{'a': 12, 'c': [1, 2], 'b': 'zf'}
  • 该方法与调用对象无关,用于创建一个dcit返回,键是第一个迭代器参数的元素,各键的值都为第二个参数

标签:__,12,zf,dict,print,self,python3
From: https://www.cnblogs.com/wd404/p/17324862.html

相关文章

  • python3-range
    1、介绍range是一个类,用于帮助for循环。2、类classrange(object):"""range(stop)->rangeobjectrange(start,stop[,step])->rangeobject"""def__init__(self,stop):pass3、使用(1)一个参数foriinrange(3):#遍历0,......
  • python3-open
    1、介绍python3中,可以通过内建模块的open函数,进行文件的读写,以及创建文件。2、函数open(file,mode='r',buffering=-1,encoding=None,errors=None,newline=None,closefd=True,opener=None)file:必需,文件路径(相对或者绝对路径)。mode:可选,文件打开模式buffering:设......
  • python3-bytes
    1、介绍python3中,使用bytes类处理字节数据。2、类classbytes(object):"""bytes(iterable_of_ints)->bytesbytes(string,encoding[,errors])->bytesbytes(bytes_or_buffer)->immutablecopyofbytes_or_bufferbytes(int)->byt......
  • python3-type
    1、介绍type本身是内建模块中的一个类,其主要作用是用于判断变量的数据类型。2、类classtype(object):def__init__(cls,what,bases=None,dict=None):"""type(object_or_name,bases,dict)type(object)->theobject'stypetype......
  • python3-len
    1、介绍python3中,可以使用函数len获取容器对象的长度,比如str字符串、list列表等。2、函数deflen(*args,**kwargs):pass返回类型为int,如果长度为0,则就返回0不能对非容器变量使用,会报错,比如int、None值3、示例#不能对非容器变量使用,会报错#print(len(123))pri......
  • 部署Python3
    1、安装编译工具yum-ygroupinstall"Developmenttools"yum-yinstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgdbm-develdb4-devellibpcap-develxz-develyuminstalllibffi-devel2、下载软件包并解压wgethttps://ww......
  • Python3基本请求库-urllib
    urlliburlopen一个基本请求fromurllibimportrequest,parsedefApi():#禁用证书验证ssl._create_default_https_context=ssl._create_unverified_contextresponse=request.urlopen('https://www.baidu.com/')print(response.read().decode(�......
  • python3正则-表达式
    1、介绍这里整理了表达式,即pattern参数的语法。其本质是一个str类型。2、开始和结尾(1)^^匹配字符串的开头(2)$$匹配字符串的末尾(3)整体匹配同时使用^和$3、匹配次数(1)贪婪匹配和非贪婪匹配模式贪婪匹配,在允许的范围内尽可能多的匹配表达式次数。比如*、+、{n,m}等......
  • python3正则-修饰符flags
    1、介绍在re模块的函数中,多数允许设置修饰符flags参数,其用于对匹配做优化和个性设置。2、修饰符修饰符实质上是int参数类型,可以直接指定int类型,也可以通过re调用变量名称指定。修饰符描述re.I使匹配对大小写不敏感re.L做本地化识别(locale-aware)匹配re.M多行......
  • python3正则-Match类
    1、介绍re.match、re.fullmatch和re.search这三个函数,如果存在匹配,其返回pattern初次匹配的结果,类型就为re.Match。2、类和初始化3、方法pattern="(ab)c"result=re.match(pattern=pattern,string="abcdef")print(result)(1)start获取pattern整体匹配的开始索引,返回类......