Python 数据类型之 列表和元组
Python 根据每个变量的初始赋值情况分析其类型,并在内部对其进行跟踪
内置数据类型
Booleans [布尔型] True[真] 或 False [假]
Numbers [数值型] Integers[整数] Float[浮点数] Fractions[分数] Complex Number[复数]
Strings [字符串型] Unicode 字符序列
Bytes [字节] 和 Bytes Arrays [字节数组]
Lists [列表] 是值的有序序列
Tuples [元组] 是有序而不可变的值序列
Sets [集合] 是无序值的集合
Dictionaries[字典] 是键值对的无序集合
布尔类型
在布尔类型上下文环境中可使用任何表达式,Python 将试图判断其真值
数值类型
Python 同时支持Integer[整数] 和 Floating Point[浮点数],无任何类型声明用于区分,通过是否有小数点来分辨它们
可使用type()函数来检测任何值或变量的类型
type(10)
<class 'int'>
type(10.0)
<class 'float'>
还可使用isinstance()函数判断某个值或变量是否为给定类型
isinstance(10,int)
True
整数和浮点数可相互强制转换
float(10)
10.0
int(10.0)
10
int() 将进行取整,对于负数,int()函数朝着0的方法进行取整
int(5.5)
5
int(-5.5)
-5
整数可以任意大
常见数值运算
/ (浮点整除) 和 // (整除):朝着最近的整数“向上”四舍五入
** 计算幂 % 取余
>>> 11/2
5.5
>>> 11//2
5
>>> -11/2
-5.5
>>> -11//2
-6
>>> 11**2
121
>>> 11%2
1
分数(fractions 模块)
>>> import fractions
>>> x = fractions.Fraction(1,3)
>>> x
Fraction(1, 3)
三角函数(math)
>>> import math
>>> math.pi
3.141592653589793
在布尔上下文环境中的数值,零值为False[假],非零值为True[真]
列表
Python 主力数据类型,包含任何数据类型的元素
创建列表
使用中括号包括一系列以逗号分割的值即可
列表是元素的有序集合
列表索引总是以0为起点
l = [1,2,3,'a','b','c']
l[0]
1
l[5]
'c'
l[-1]
'c'
l[-3]
'a'
列表切片
按顺序从第一个切片索引元素开始,截止但不包含第二个切片索引
如果切片索引之一或两者均为负数,切片操作仍可进行
l
[1, 2, 3, 'a', 'b', 'c']
l[1:4]
[2, 3, 'a']
l[1:-1]
[2, 3, 'a', 'b']
l[2:]
[3, 'a', 'b', 'c']
l[:4]
[1, 2, 3, 'a']
l[:4:2] ==> 步长
[1, 3]
列表新增元素
- 列表连接符,创建一个新的列表
l
[1, 2, 3, 'a', 'b', 'c']
l + [4,5]
[1, 2, 3, 'a', 'b', 'c', 4, 5]
append()方法向列表的尾部添加一个新的元素
l
[1, 2, 3, 'a', 'b', 'c']
l.append('true')
l
[1, 2, 3, 'a', 'b', 'c', 'true']
extend()只接受一个列表作为参数,并将该参数的每个元素都添加到原有的列表中
l
[1, 2, 3, 'a', 'b', 'c', 'true']
l.extend([4,5,6])
l
[1, 2, 3, 'a', 'b', 'c', 'true', 4, 5, 6]
insert()方法将单个元素插入到列表指定位置,第一个参数是插入列表中位置索引,第二个是要插入的元素值
l
[1, 2, 3, 'a', 'b', 'c', 'true', 4, 5, 6]
l.insert(0,0)
l
[0, 1, 2, 3, 'a', 'b', 'c', 'true', 4, 5, 6]
在列表中检索值
count()方法找出元素出现的次数
index()方法找出元素在列表中第一次出现的索引值
判断元素是否在列表中存在
l
[0, 1, 2, 3, 'a', 'b', 'c', 'true', 4, 5, 6, 2]
l.count(2)
2
l.count('true')
1
l.index(2)
2
1 in l
True
8 in l
False在列表中删除元素
通过列表索引删除元素 del
通过列表元素值删除 remove()
每次删除列表的最后一个元素 pop(),并返回删除的元素
l
[0, 1, 2, 3, 'a', 'b', 'c', 'true', 4, 5, 6, 2]
del l[3]
l
[0, 1, 2, 'a', 'b', 'c', 'true', 4, 5, 6, 2]
l
[0, 1, 2, 'a', 'b', 'c', 'true', 4, 5, 6, 2]
l.remove(2)
l
[0, 1, 'a', 'b', 'c', 'true', 4, 5, 6, 2]
l.remove(2)
l
[0, 1, 'a', 'b', 'c', 'true', 4, 5, 6]
l.pop()
6
l.pop()
5
l.pop()
4
l
[0, 1, 'a', 'b', 'c', 'true']
布尔上下文环境中的列表
空列表为假
非空列表为真
元组
元素是不可变的有序的列表
创建单元素元组的时候需在值后面加逗号
无法向元组增加,删除和修改元素
元组和列表可相互转换
在布尔上下文环境中: 空元组为假,非空元组为真
可使用元组多远赋值
(One,Two,Three,Four,Five,Six,Seven) = range(7)
One
0
Five
4
Seven
6
转载于:https://blog.51cto.com/sream/2377592