ython基础
一、python数据类型 ------列表(list)
1、定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素
特性:可存放多个不同类型的值;可修改指定索引位置对应的值,可变;按照从左到右的顺序定义列表元素,下标从0开始顺序访问,有序。
2、列表的常用操作方法
list.append():追加成员
list.count(x):计算列表中参数x出现的次数
list.extend(L):向列表中追加另一个列表L
list.index(x):获得参数x在列表中的位置
list.insert():向列表中插入数据
list.pop():删除列表中的成员(通过下标删除即索引号删除)
list.remove():删除列表中的成员(直接删除)
list.reverse():将列表中成员的顺序颠倒
list.sort():将列表中成员排序
list[start : end : step]:列表切片,start是切片起点索引,end是切片终点索引,但切片结果不包括终点索引的值。step是步长默认是1。
二、python数据类型 ------元组(tuple)
1、定义:与列表类似,只不过[]改成()
特性:可存放多个值;不可变;按照从左到右的顺序定义元组元素,下标从0开始顺序访问,有序.
2、创建元组:创建元组方法很简单,元组是用小括号( )包括起来的,( )括号中的元素用逗号分割,这样就完成元组的创建了。如果新建时没有用( )括号包括,只用逗号进行分隔
python也会把它认做为元组。如果你新建的元组中只有一个值,那么请记得在这个值后边加上逗号
3、元组注意事项:
元组是一个有序的集合。元组和列表一样可以使用索引、切片来取值。创建元组后不能在原地进行修改替换等操作。元组支持嵌套,可以包含列表、字典和不同元组。元组支
持一般序列的操作,例如:+、*注意+、*操作时,返回的是一个新元组 三、python数据类型 -------字典(dic)
1、定义:{key1:value1,key2:value2},key-value结构,key必须可hash
2、特性:可存放多个值;可修改指定key对应的值,可变;无序。
3、字典的使用方法:
操作 | |
---|---|
dict.clear() | 删除字典中所有元素 |
dict.copy() | 返回字典(浅复制)的一个副本 |
dict.fromkeysc(seq,val=None) | 创建并返回一个新字典,以seq 中的元素做该字典的键,val 做该字典中所有键对应的初始值(如果不提供此值,则默认为None) |
dict.get(key,default=None) | 对字典dict 中的键key,返回它对应的值value,如果字典中不存在此键,则返回default 的值(注意,参数default 的默认值为None) |
dict.has_key(key) | 如果键(key)在字典中存在,返回True,否则返回False. 在Python2.2版本引入in 和not in 后,此方法几乎已废弃不用了,但仍提供一个 可工作的接口。 |
dict.items() | 返回一个包含字典中(键, 值)对元组的列表 |
dict.keys() | 返回一个包含字典中键的列表 |
dict.values() | 返回一个包含字典中所有值的列表 |
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.setdefault(key,default=None) | 和方法set()相似,如果字典中不存在key 键,由dict[key]=default 为它赋值。 |
四、python数据类型 -------集合(set)
1、定义:由不同元素组成的集合,集合中是一组无序排列的可hash值,可以作为字典的key
2、特性:集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算,无需纠结于集合中单个值
3、标准类型操作符(所有的集合类型)
成员关系 (in, not in):就序列而言,Python中的in和not in操作符决定某个元素是否是一个集合中的成员。
集合等价/不等价:等价/不等价被用于在相同或不同的集合之间做比较。两个集合相等是指,对每个集合而言,当且仅当其中一个集合中的每个成员同时也是另一个集合中的成员。也可以说每个集合必须是另一个集合的一个子集,
即s <= t 和s>= t 的值均为真(True),或(s <= t and s>= t)
的值为真(True)。集合等价/不等价与集合的类型或集合成员的顺序无关,只与集合的元素有关。
子集/超集:set用Python的比较操作符检查某集合是否是其他集合的超集或子集。“小于”符号(<、<=)用来判断子集,“大于”符号(>、
>= )用来判断超集。“小于” 和 “大于”意味着两个集合在比较时不能相等。等于号允许非严格定义的子集和超集。
set支持严格( < )子集和非严格 ( <= ) 子集,也支持严格( > )超集和非严格 ( >=
)超集。只有当第一个集合是第二个集合的严格子集时,我们才称第一个集合“小于”第二个集合。同理,只有当第一个集合是第二个集合的严格超集时,我们才称第一个集合“大于”第二个集合。
对象值的比较:任何相同类型的对象都可以比较,格式为:a == b,在python2.3之前类型不具有布尔值,返回值为1 0;2.3版本之后返回只为 True False
对象身份的比较:
obj1 is obj2 --obj 与obj2是同一个对象 return True False
obj1 is not obj2 --obj 与obj2是同一个对象 return True False
4、集合类型操作符(所有的集合类型)
联合( | ):联合(union)操作和集合的 OR(又称可兼析取(inclusive
disjunction))其实是等价的,两个集合的联合是一个新集合,该集合中的每个元素都至少是其中一个集合的成员,即属于两个集合其中之一的成员。联合符号有一个等价的方法:union()。
交集( & ):可以把交集操作比做集合的AND(或合取)操作。两个集合的交集是一个新集合,该集合中的每个元素同时是两个集合中的成员,即属于两个集合的成员。交集符号有一个等价的方法:intersection()。
差补/相对补集( – ):两个集合(s 和 t)的差补或相对补集是指一个集合 C,该集合中的元素,只属于集合 s,而不属于集合 t。差符号有一个等价的方法:difference()。
对称差分( ^ ):和其他的布尔集合操作相似,对称差分是集合的XOR(又称“异或” (exclusive
disjunction))。两个集合(s 和 t)的对称差分是指另外一个集合C,该集合中的元素,只能是属于集合 s
或者集合t的成员,不能同时属于两个集合。对称差分有一个等价的方法:symmetric_difference()。