容器数据类型特性总结18
一,容器、类型、对象
1.列表元素和字典自变量可以多行输入,没有任何元素时是不可以的;
例如:
In[75]:l1=[1,....:2,....:3,....:]In[76]:printl1[1,2,3]
2.所以对象都有引用计数
分配新名称会增加计数,删除对象引用则会减少计数;
例如:
In[78]:name="black"In[79]:importsyssyssysconfigsyslogIn[79]:importsysIn[80]:sys.sys.api_versionsys.exitsys.last_tracebacksys.ps2sys.argvsys.exitfuncsys.last_typesys.ps3sys.builtin_module_namessys.flagssys.last_valuesys.py3kwarningsys.byteordersys.float_infosys.long_infosys.setcheckintervalsys.call_tracingsys.float_repr_stylesys.maxintsys.setdlopenflagssys.callstatssys.getcheckintervalsys.maxsizesys.setprofilesys.copyrightsys.getdefaultencodingsys.maxunicodesys.setrecursionlimitsys.displayhooksys.getdlopenflagssys.meta_pathsys.settracesys.dont_write_bytecodesys.getfilesystemencodingsys.modulessys.stderrsys.exc_clearsys.getprofilesys.pathsys.stdinsys.exc_infosys.getrecursionlimitsys.path_hookssys.stdoutsys.exc_typesys.getrefcountsys.path_importer_cachesys.subversionsys.excepthooksys.getsizeofsys.platformsys.versionsys.exec_prefixsys.gettracesys.prefixsys.version_infosys.executablesys.hexversionsys.ps1sys.warnoptionsIn[80]:sys.getsys.getcheckintervalsys.getfilesystemencodingsys.getrefcountsys.getdefaultencodingsys.getprofilesys.getsizeofsys.getdlopenflagssys.getrecursionlimitsys.gettraceIn[80]:sys.getresys.getrecursionlimitsys.getrefcountIn[80]:sys.getrefcount(name)Out[80]:2In[94]:hello="black"In[95]:sys.getrefcount(name)Out[95]:3In[96]:del(hello)//删除对象引用减少计数In[97]:sys.getrefcount(name)Out[97]:2
3.列表和字典都支持两种类型的复制操作
浅复制:创建一个新对象,包含的原来的对象引用,指向的是同一个位置;
深复制:创建一个新对象,递归复制原来包含的所有对象;
深复制可使用copy模块中的deepcopy()实现。
4.Python中的所以对象都是“第一类的”
这意味着使用标识符命名的所有对象都具有相同状态,于是,能够命名所以对象都可以直接当数据进行处理。
例如:
In[6]:a=4.0In[7]:b=3In[8]:a/bOut[8]:1.3333333333333333In[9]:a//bOut[9]:1.0
5.所有序列都支持迭代
序列是索引为非负整数的有序对象的集合;
序列可以修改,支持原处的插入、替换、删除等操作;
字串和元组不支持原处修改,但序列和元组能包含任意的Python对象序列(容器的特性);
6.所有序列都支持的操作
s[i]
s[i:j]
s[i:j:stride]
len(s)
max(s)
min(s)
sum(s)
all(s)
any(s)
s1 + s2 : 连接
s1 * N : 重复
obj in s1 :成员关系判断
obj not in s
7.可变序列的操作,操作本身
s1[index] = value :元素赋值
s1[i:j] = t :切片赋值
del s1[index]
del s1[i:j]
del s1[i:j:stride]
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。