基本的数据类型

在Python中,能够直接处理的数据类型有以下几种:

整数

Python可以处理任意大小的整数,包括负整数,写程序的时候表述与数学上的方法一样,例如:99-36666 等等。

浮点数

浮点数也可以称为小数。叫做浮点数是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的。比如,1.11x10611.1x105是完全相等的。对于很大或很小的浮点数,必须用科学计数法表示,把10用e替代,1.11x106就是1.11e6,或者11.1e50.0000011可以写成1.1e-6。负数的话直接在前面加负号即可,例如:-1.1e-6

需要注意的一点是,整数和浮点数在计算机内部存储的方式是不同的,整数之间的运算永远是精确的,而浮点数运算则可能会有四舍五入的误差。

字符串

字符串是以单引号 ' 或双引号 " 括起来的任意文本' '" "只是一种表示方式,不是字符串的一部分,所以字符串'rice'只有rice这4个字符。如果要把'本身也包括进字符里,那就可以用" "括起来。如果字符串内部既包含 ' 又包含 " 怎么办呢?我们可以用转义字符 \ 来标识,例如:'I\'m \"OK\"!'表示的内容为:I'm "OK"!

转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\表示的字符就是\,用print()打印字符串看看结果如何:

print('I\'m \"OK\"!')
I'm "OK"!
print('Ricequant is\ngreat')
Ricequant is
great
print('\\\t\\')
\    \

布尔值

布尔值和布尔代数的表示完全一致,一个布尔值只有TrueFalse两种值。Python中,既可以直接用TrueFalse表示(一定要大写),也可以通过布尔运算计算出来:

True
True
False
False
1>0
True

布尔值可以用andornot即与、或和非进行运算。

True and False
False
1 > 2 or 3 < 10
True
not 3 < 10
False

列表

Python内嵌的数据类型主要包括以下两类:

有序:

List(列表),是有序集合,没有固定大小,可以通过对偏移量以及其他方法修改列表大小。列表的基本形式如:[1,2,3,4]

Tuple(元组),是有序集合,是不可变的,可以进行组合和复制运算后会生成一个新的元组。元组的基本形式比如:(1,3,6,10)

String(字符串),也是有序集合,字符串的基本形式比如:’hello’,这里不进行具体介绍。

无序:

Set(集合),是一个无序不重复元素的集。基本功能包括关系运算和消除重复元素。集合的基本形式如:set('abracadabra')

Dictionary(字典)是无序的键:值对 (key:value 对)集合,键必须是互不相同的(在同一个字典之内)。字典的基本形式如:{'jack': 4098, 'sape': 4139} 首先对列表进行介绍。

List(列表) 是 Python 中最通用的序列。列表是一个任意类型对象位置的相关有序集合,它没有固定大小。不像字符串,其大小是可以变的,通过对偏移量进行赋值以及其他各种列表的方法进行调用,可以修改列表大小。

索引是从0开始而非1开始!!

列表中值的分割用变量[头下标:尾下标],就可以截取相应的列表,从左到右索引默认“0”开始的,从右到左索引默认-1开始,下标可以为空表示取到头或尾。可以对列表进行索引、切片等操作,看下面例子。

列出一周5个工作日可以使用list:

week = ['Monday','Tuesday','Wednesday','Thursday','Friday']
week
['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']

week是一个list,可以用len()获取其元素个数:

len(week)
5

可以使用索引来访问list中的每一个位置上的元素,不过一定要记住索引是从0开始的!!

week[0]
'Monday'
week[3]
'Thursday'
week[5]
---------------------------------------------------------------------------

IndexError                                Traceback (most recent call last)

<ipython-input-16-aab97e4d2f9f> in <module>()
----> 1 week[5]


IndexError: list index out of range

当索引超出了范围时,Python会报一个IndexError错误。由于索引是从0开始的,最后一个元素的索引是列表长度 - 1

python支持从列表最后取元素,如果要取最后一个元素,可以用-1做索引,直接获取最后一个元素:

week[-1]
'Friday'
week[-4]
'Tuesday'

由于list是一个可变的有序表,所以我们可以往list中追加元素到末尾:

week.append('Saturday')
week
['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']

还可以吧元素插入到指定的位置,比如索引号为6的位置:

week.insert(6,'Sunday')
week
['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']

删除list末尾的元素,使用pop()方法:

week.pop()
week
['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']

删除list中指定位置的元素,使用pop(i)方法,i是对应的索引位置:

week.pop(1)
week
['Monday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']

把某个元素替换成别的元素,可以直接赋值给对应的索引位置:

week[0] = 'Tuesday'
week
['Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']

Python 的列表数据类型包含更多的方法。

list.append(x) 把一个元素添加到列表的结尾。

list.extend(L) 将一个给定列表中的所有元素都添加到另一个列表中。

list.insert(i, x) 在指定位置插入一个元素。第一个参数是准备插入到其前面的那个元素的索引,例如 a.insert(0, x) 会插入到整个列表之前,而 a.insert(len(a), x) 相当于 a.append(x)。

list.remove(x) 删除列表中值为 x 的第一个元素。如果没有这样的元素,就会返回一个错误。

list.pop([i]) 从列表的指定位置删除元素,并将其返回。如果没有指定索引,a.pop() 返回最后一个元素。元素随即从链表中被删除。(方法中 i 两边的方括号表示这个参数是可选的,而不是要求你输入一对方括号,这个经常会在 Python 库参考手册中遇到这样的标记。)

list.index(x) 返回列表中第一个值为 x 的元素的索引。如果没有匹配的元素就会返回一个错误。

list.count(x) 返回 x 在链表中出现的次数。

list.sort(cmp=None, key=None, reverse=False) 对列表中的元素进行排序(参数可以用来自定义排序方法,参考 sorted() 的更详细的解释)。

list.reverse() 就地倒排链表中的元素

del list[i] 有个方法可以从列表中按给定的索引而不是值来删除一个子项:del 语句。它不同于有返回值的 pop() 方法。语句 del 还可以从列表中删除切片或清空整个列表(我们以前介绍过一个方法是将空列表赋值给列表的切片)。

results matching ""

    No results matching ""