Python笔记(一) 基本的数据类型介绍
Python笔记(一) 基本的数据类型介绍
Strings
Sequence Operations
Basic
1 | >>>S='Spam' |
直接用一个字符串型变量定义一串字符;**len()**为度量字符串长度的语句并得到一个整型数。
Python系统默认的字符串当中,是以0为计数开始的序列。字符串长度为n则有[0]…[n-1]。
Slicing
一种在字符串中提取部分元素的简单操作。切片的规则并不是唯一的,有若干种可能的形式:
-
X[I : J] 从下边界到上边界的所有元素(上边界并不包括在内);
-
X[ : ] 在未给出的情况下,默认为从0到n-1之间的所有元素;
-
X[ : J] 从0到J-1之间的所有元素;
-
X[I : ] 从I到n-1之间的所有元素;
-
X[I : J : K] 索引从I到J之间的元素;每隔K个元素索引一次,默认为1。
1 | >>>S[1:] |
Concatenation & Repeating
1 | >>>S+'xyz' #Concatenation |
Immutability
字符串中的每个既定元素不可改变,但是可以通过切片和组合形成新的字符串;同时可以将之转换成列表的形式变更元素。
1 | >>>S[0]='z' #immutable objects cannot be changed |
Type-Specific Methods
1 | >>>S='Spam' |
Lists
Sequence Operations
列表与字符串的形式类似,包括计数规则、索引、切片等命令大致相似。
1 | >>>L=[123,'spam',1.23] |
Type-Specific Methods
1 | >>>L.append('NI') #Growing:add object at the end of list |
Warning: Bounds Checking
对超出列表范围的部分进行操作时,Python会报错。
Nesting
允许嵌套、允许嵌套检索。
1 | >>>M=[[1,2,3], #A 3X3 matrix,as nested lists |
Comprehensions
1 | >>>col1=[row[1] for row in M] #在M的所有嵌套子列表中遍历第二个元素并且返回一个新列表 |
Dictionaries
Mapping Operations
字典类型是列表类型的推广普遍形式。字典里面的每一个元素都依赖于我们为之设定的唯一的“钥匙”来对应,并且其中元素支持运算。
1 | >>>D={} |
字典类型的常用写法:
1 | >>>bob1=dict(name='Bob',job='dev',age=40) |
Nesting Revisited
字典类型的数据允许嵌套以及嵌套检索;同时其支持以列表形式实现元素的增删。
1 | >>>rec={'name':{'first':'Bob','last':'Smith'}, |
Missing Keys: if Tests
可以通过增补钥匙的方式检索初始阶段没有定义的钥匙;但是不能直接检索没有被定义过的钥匙。
1 | >>>D={'a':1,'b':2,'c':3} |
同时,我们也可以实现单个钥匙的增减、赋值与条件判断。
1 | >>>value=D.get('x',0) |
Sorting Keys: for Loops
1 | >>>Ks=list(D.keys()) |
Tuples
与字符串、列表、字典等数据类型类似,数组类型也可以进行计算长度、索引、整体增删等操作。
1 | >>>T=(1,2,3,4) |
同样地,我们能对数组类型的数据进行元素位置索引、元素数量统计等操作。
1 | >>>T.index(4);T.count(4) |
类似于字符串类型数据,我们能够对其进行“切片化”处理并且返回新数组。
1 | >>>T=(2,)+T[1:] |
同一个数组当中可以存放不同类型的数据,同样可以实现嵌套索引。但是需要注意:append语句不适用。
1 | >>>T='spam',3.0,[11,22,33] |