Python基础3:对象和序列数据类型

一、对象

所有的 Python 对象都拥有三个特性:身份,类型和值。

身份

对象的唯一标识,对象的身份可以使用内建函数 id()来得到。这个值可以被认为是该对象的内存地址。

类型

决定了该对象可以保存什么类型的值。对象的类型可以使用内建函数 type()来查看。

对象表示的数据项。

对象的身份和类型都是只读的。

对象的值是否可以更改被称为对象的可改变性。(mutability)

每个对象天生具有布尔 True 或 False 值。空对象、 值为零的任何数字或者 Null 对象 None 的布尔值都是 False。

Python的位操作

Python 整数支持标准位运算:取反(~),按位 与(&), 或(|) 及 异或(^) 及左移(<<)和右
移(>>)。


二、序列数据类型

序列类型函数:
len()
max() and min()
sorted() and reversed()
enumerate() and zip()
sum()
list() and tuple() 浅拷贝

(list() and tuple() 常用于在两种类型之间进行转换,比如你需要把一个已有的元组转成列表类型的(然后你就可以修改它的元素了),或者相反。)

列表的相关函数:

List Method Operation
*list 解析一个列表(返回其中的各个元素)
list[::-1] 返回反转后的列表
zip(list1,list2) 打包多个列表中同一位置的元素,返回一个元组
map(func,list) 把func作用到list的每个元素上
list.append(obj) 向列表中添加一个对象 obj
list.count(obj) 返回一个对象 obj 在列表中出现的次数
list.extend(seq) 把序列 seq 的内容添加到列表中
list.index(obj) 返回obj的索引
j=len(list)) 返回 list[k] == obj 的 k 值,并且 k 的范围在 i<=k<j;否则
引发 ValueError 异常.
list.insert(index, obj) 在索引量为 index 的位置插入对象 obj.
list.pop(index=-1) 删除并返回指定位置的对象,默认是最后一个对象
list.remove(obj) 从列表中删除对象 obj
list.reverse() 原地翻转列表
list.sort(func=None,key=None,reverse=False) 以指定的方式排序列表中的成员,如果 func 和 key 参数指定,则按照指定的方式比较各个元素,如果 reverse 标志被置为
True,则列表以反序排列.

在使用可变对象的方法如 sort(),extend()和 reverse()的时候要注意,这些操作会在列表中原地执行操作,也就是说现有的列表内容会被改变,但是没有返回值!

matrix[:] = map(lambda x:list(x)[::-1],zip(*matrix))

字典的相关函数

方法名字 操作
dict.clear() 删除字典中所有元素
dict.copy() 返回字典(浅复制)的一个副本
dict.fromkeys(seq,val=None) 创建并返回一个新字典,以 seq 中的元素做该字典的键,val 做该字典中所有键对应的初始值(如果不提供此值,则默认为 None)
dict.iter() 方法 iteritems(), iterkeys(), itervalues()与它们对应的非迭代方法
一样,不同的是它们返回一个迭代子,而不是一个列表。
dict.pop(key,[, default]) 和方法 get()相似,如果字典中 key 键存在,删除并返回 dict[key],如果 key 键不存在,且没有给出 default 的值,引发 KeyError 异常。
dict.setdefault(key,default=None) 和方法 set()相似,如果字典中不存在 key 键,由 dict[key]=default 为它赋值。
dict.update(dict2) 将字典 dict2 的键-值对添加到字典 dict
dict.get(key,default=None) 对字典 dict 中的键 key,返回它对应的值 value,如果字典中不存在此键,则返回 default 的值(注意,参数 default 的默认值为 None)
dict.items() 返回一个包含字典中(键, 值)对元组的列表
dict.keys() 返回一个包含字典中键的列表
dict.values() 返回一个包含字典中所有值的列表
sorted(dict) 返回一个有序的迭代子

集合的相关函数

函数/方法名 等价运算符 说明
所有集合类型
len(s) 集合基数: 集合 s 中元素的个数
set([obj]) 可变集合工厂函数; obj 必须是支持迭代的,由 obj 中的元素创建集合,否则创建一个空集合
frozenset([obj]) 不可变集合工厂函数; 执行方式和 set()方法相同,但它返回的是不可变集合
obj in s 成员测试:obj 是 s 中的一个元素吗?
obj not in s 非成员测试:obj 不是 s 中的一个元素吗?
s == t 等价测试: 测试 s 和 t 是否具有相同的元素?
s != t 不等价测试: 与==相反
s < t (严格意义上)子集测试; s != t 而且 s 中 所 有的元素都是 t 的成员
s.issubset(t) s <= t 子集测试(允许不严格意义上的子集): s 中所有的元素都是 t 的成员
s > t (严格意义上)超集测试: s != t 而且 t 中所有的元素都是 s 的成员
s.issuperset(t) s >= t 超集测试(允许不严格意义上的超集): t 中所有的元素都是 s 的成员
s.union(t) s | t 合并操作: s 或 t 中的元素
s.intersection(t) s & t 交集操作: s 和 t 中的元素
s.difference(t) s - t 差分操作: s 中的元素,而不是 t 中的元素
s.symmetric_difference(t) s ^ t 对称差分操作:s 或 t 中的元素,但不是 s 和 t 共有的元素
s.copy() 复制操作:返回 s 的(浅复制)副本
s.update(t) s |= t (Union) 修改操作: 将 t 中的成员添加 s
s.intersection_update(t) s &= t 交集修改操作: s 中仅包括 s 和 t 中共有的成员
s.difference_update(t) s -= t 差修改操作: s 中包括仅属于 s 但不属于 t 的成员
s.symmetric_difference_update(t) s ^= t 对称差分修改操作: s 中包括仅属于 s 或仅属于 t 的成员
s.add(obj) 加操作: 将 obj 添加到 s
s.remove(obj) 删除操作: 将 obj 从 s 中删除;如果 s 中不存在obj,将引发KeyError
s.discard(obj) 丢弃操作: remove() 的友好版 本 - 如果 s 中存在 obj,从 s 中删除它
s.pop() Pop 操作: 移除并返回 s 中的任意一个元素
s.clear() 清除操作: 移除 s 中的所有元素

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,200评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,526评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,321评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,601评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,446评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,345评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,753评论 3 387
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,405评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,712评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,743评论 2 314
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,529评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,369评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,770评论 3 300
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,026评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,301评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,732评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,927评论 2 336