容器数据类型特性总结18
2015-10-28 15:06
429 查看
一,容器、类型、对象
1.列表元素和字典自变量可以多行输入,没有任何元素时是不可以的;
例如:
分配新名称会增加计数,删除对象引用则会减少计数;
例如:
浅复制:创建一个新对象,包含的原来的对象引用,指向的是同一个位置;
深复制:创建一个新对象,递归复制原来包含的所有对象;
深复制可使用copy模块中的deepcopy()实现。
4.Python中的所以对象都是“第一类的”
这意味着使用标识符命名的所有对象都具有相同状态,于是,能够命名所以对象都可以直接当数据进行处理。
例如:
序列是索引为非负整数的有序对象的集合;
序列可以修改,支持原处的插入、替换、删除等操作;
字串和元组不支持原处修改,但序列和元组能包含任意的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]
本文出自 “Jessen Liu的博文” 博客,请务必保留此出处http://zkhylt.blog.51cto.com/3638719/1707272
1.列表元素和字典自变量可以多行输入,没有任何元素时是不可以的;
例如:
In [75]: l1 = [1, ....: 2, ....: 3, ....: ] In [76]: print l1 [1, 2, 3]2.所以对象都有引用计数
分配新名称会增加计数,删除对象引用则会减少计数;
例如:
In [78]: name = "black" In [79]: import sys sys sysconfig syslog In [79]: import sys In [80]: sys. sys.api_version sys.exit sys.last_traceback sys.ps2 sys.argv sys.exitfunc sys.last_type sys.ps3 sys.builtin_module_names sys.flags sys.last_value sys.py3kwarning sys.byteorder sys.float_info sys.long_info sys.setcheckinterval sys.call_tracing sys.float_repr_style sys.maxint sys.setdlopenflags sys.callstats sys.getcheckinterval sys.maxsize sys.setprofile sys.copyright sys.getdefaultencoding sys.maxunicode sys.setrecursionlimit sys.displayhook sys.getdlopenflags sys.meta_path sys.settrace sys.dont_write_bytecode sys.getfilesystemencoding sys.modules sys.stderr sys.exc_clear sys.getprofile sys.path sys.stdin sys.exc_info sys.getrecursionlimit sys.path_hooks sys.stdout sys.exc_type sys.getrefcount sys.path_importer_cache sys.subversion sys.excepthook sys.getsizeof sys.platform sys.version sys.exec_prefix sys.gettrace sys.prefix sys.version_info sys.executable sys.hexversion sys.ps1 sys.warnoptions In [80]: sys.get sys.getcheckinterval sys.getfilesystemencoding sys.getrefcount sys.getdefaultencoding sys.getprofile sys.getsizeof sys.getdlopenflags sys.getrecursionlimit sys.gettrace In [80]: sys.getre sys.getrecursionlimit sys.getrefcount In [80]: sys.getrefcount(name) Out[80]: 2 In [94]: hello="black" In [95]: sys.getrefcount(name) Out[95]: 3 In [96]: del(hello) //删除对象引用减少计数 In [97]: sys.getrefcount(name) Out[97]: 23.列表和字典都支持两种类型的复制操作
浅复制:创建一个新对象,包含的原来的对象引用,指向的是同一个位置;
深复制:创建一个新对象,递归复制原来包含的所有对象;
深复制可使用copy模块中的deepcopy()实现。
4.Python中的所以对象都是“第一类的”
这意味着使用标识符命名的所有对象都具有相同状态,于是,能够命名所以对象都可以直接当数据进行处理。
例如:
In [6]: a = 4.0 In [7]: b = 3 In [8]: a / b Out[8]: 1.3333333333333333 In [9]: a // b Out[9]: 1.05.所有序列都支持迭代
序列是索引为非负整数的有序对象的集合;
序列可以修改,支持原处的插入、替换、删除等操作;
字串和元组不支持原处修改,但序列和元组能包含任意的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]
本文出自 “Jessen Liu的博文” 博客,请务必保留此出处http://zkhylt.blog.51cto.com/3638719/1707272
相关文章推荐
- 高并发服务端分布式系统设计概要(上)
- 线性表(一)——顺序表(2)
- Android播放器框架分析之AwesomePlayer
- Javascript,Jquery获取各种屏幕的宽度和高度
- css的架构
- 用条件格式提高数据易用性(4)-找唯一值
- cmake 例子2
- 获得touch事件,jquery绑定事件监听器,ios设备上打开touch状态以响应focus,active等伪类
- 一些职场的忠告
- mysql授权新的用户时遇到的一个坑
- oracle非归档模式与归档模式的备份
- 在HTML5中, web app 以及手机客户端中,设置页面图片等比例居中显示
- Android4.X读取SIM卡短信和联系人相关类实例分析
- jquery 控制文字域展开收起
- 用条件格式提高数据易用性(3)-突出显示
- 8.5.5 Bulk Data Loading for InnoDB Tables 批量数据加载到InnoDB 表
- cmake 例子1
- OpenGL中的光照、材质等属性
- JavaScript跨域深入研究与解决办法(转)
- 通过CSS3中的伪元素实现折叠