目录
Python 中数据类型可以分为数字型和⾮数字型 。
数字型
非数字型
在 Python 中,所有非数字型变量都⽀持以下特点:
List (列表) 是 Python 中使⽤最频繁的数据类型,在其他语⾔中通常叫做数组 ,专⻔⽤于存储 一串信息 。
注:
从列表中取值时,如果超出索引范围程序会报错。
示例:
# 定义一个列表变量,名字叫 names,有三个元素
names = ["小明", "小红", "小绿"]
# 显示列表第一个元素的值
print(names[0])
# IndexError: list index out of range
# 错误,列表没有[3]这个值
print(names[3])
我们还可以通过dir()函数查看某类型中定义的方法。
# 定义一个列表变量,名字叫 names,有三个元素
names = ["小明", "小红", "小绿"]
# 通过 dir 函数显示列表所有的方法
print(dir(names))
分类 | 方法 | 说明 |
---|---|---|
增加 | insert(索引,数据) | 在指定位置插入数据 |
append(数据) | 在末尾追加数据 | |
extend(列表) | 追加另一个列表的值 | |
修改 | 列表[索引] = 值 | 修改指定索引的数据 |
删除 | del(列表[索引]) | 删除指定索引的数据 |
remove(数据) | 删除第一次出现的指定数据 | |
pop() | 删除末尾数据 | |
pop(索引) | 删除指定索引数据 | |
clear() | 清空列表 | |
统计 | count(数据) | 返回指定数据在列表中出现的次数 |
index(数据) | 返回数据在列表中的索引值,如果找不到抛出异常 | |
排序 | sort() | 升序排序 |
sort(reverse=True) | 降序排序 | |
reverse() | 逆置,反转 |
示例:
# 定义一个列表变量,名字叫 names,有三个元素
names = ["小明", "小红", "小绿"]
# 计算小明在数组中出现的次数
print(names.count('小明'))
遍历就是从头到尾依次从列表中获取数据
# 定义一个列表变量,名字叫 names,有三个元素
names = ["小明", "小红", "小绿"]
# 循环遍历列表
for i in names:
print(i)
在 Python 中,可以使⽤ for 循环遍历所有⾮数字型类型的变量,包括:列表、元组、字典以及字符串。
拆包就是把一个列表中每个值拆出来, 拆包操作同样适用于元组,集合和字典。
# 定义一个列表变量,名字叫 names,有三个元素
names = ["小明", "小红", "小绿"]
# 通过对列表进行拆包方式获取列表中每个元素的值
a,b,c = names;
print(a,b,c)
所谓的列表推导式,就是指轻量级的循环创建列表的⽅法 。
1、基本使用
# a 的内容为[3, 5, 7, 9]
a = [x for x in range(3, 10, 2)]
print(a)
2、在推导过程中使⽤if
# a 的内容为[3, 5, 7, 9]
a = [x for x in range(3, 10) if x % 2 != 0]
print(a)
分类 | 方法 | 说明 |
---|---|---|
统计 | len(列表) | 返回列表元素个数 |
max(列表) | 返回列表中最大的数据 | |
min(列表) | 返回列表中最小的数据 | |
成员运算符 | 值 in 列表 | 判断值是否在列表中,存在返回 True,不存在返回 False |
值 not in 列表 | 判断值是否在列表中,存在返回 False,不存在返回 True |
公共方法同样适用于元组,集合,字典,字符串等类型
示例:
# 定义一个列表变量,名字叫 names,有三个元素
names = ["小明", "小红", "小绿"]
# 判断列表中是否有小明,有就将其删除
if "小明" in names:
names.remove("小明")
# 打印
print(names)
Tuple (元组)与列表类似,不同之处在于元组的元素不能修改;
示例:
1、元组⽤ () 定义 。
# 定义一个元组,名字叫 names,有三个元素
names = ("小明", "小红", "小绿")
# 打印
print(names)
2、元组只有一个元素时,元素后面需要添加逗号
# 元组只有一个元素时,元素后面需要添加逗号
names = ("小明",)
3、定义元组时, ()可以省略
# 定义元组时, ()可以省略
names = "小明",
4、 元组只有一个元素,尝试后面加和不加逗号的差别
names = ("小明",)
names2 = ("小明")
print(names)
print(names2)
共同点:
常用方法都差不多。 for 循环遍历也一样。
不同点:
元组的内容不能修改,所以没有增加、修改、删除相关方法。 列表则相反。
把列表转化为元组目的是让列表不可以被修改,以保护数据安全 ;
示例:
# 定义一个元组,名字叫 names,有三个元素
names = ("小明", "小红", "小绿")
# 将元组转换成列表
names = list(names)
print(names)
# 定义一个列表 名字叫sexs,有三个元素
sexs = ["男", "女", "未知"]
# 将列表转换成元组
sexs = tuple(sexs)
print(sexs)