Python大数据基础-06

111 阅读4分钟

数据容器

数据容器含义:  能够存储多个元素的数据类型,叫数据容器

常见的数据容器:  列表(list)  元组(tuple)  字符串(str)   集合(set)   字典(dict)

各个容器符号
	列表: 中括号 []   举例: [元素1,元素2,元素3,...]
	元组: 小括号 ()   举例: (元素1,元素2,元素3,...)
	字符串: 引号 '内容'/"内容"/'''内容'''/"""内容"""       注意: 在字符串中每个字符都是一个元素
	集合: 大括号 {}   举例: {元素1,元素2,元素3,...}
	字典: 大括号 {}   举例: {key:value , key:value ,...}  注意: 每个键值对是一个元素	

方法和函数的对比

方法: 本质是一个函数,只是这个函数放到class xxx 类中

注意: 可以说方法一定是一个函数,但是不能说函数一定是一个方法

列表的定义

空列表:  列表名=[] 或者 列表名=list()

非空列表: 列表名=[元素1,元素2,元素3,...]

列表支持嵌套

示例

# 定义空列表
list1 = []
print(list1)
list2 = list()
print(list2)

# 定义非空列表
list3 = ['a', 'b', 'c']
print(list3)

# 列表的嵌套
class1_list = ['张三', '李四', '王五']
print(class1_list)
class2_list = ['赵六', '田七', '周八']
print(class2_list)
school_list = [class1_list, class2_list]
print(school_list)

列表的下标索引

下标索引: 就是咱们说的编号,也就是容器中每个元素的编号

正索引: 从0开始,从左到右,依次递增

负索引: 从-1开始,从右到左,依次递减

根据下标索引查找对应元素格式:  列表名[索引]

示例

# 下标索引: 就是列表中每个元素的编号
# 需求1: 定义列表存储5个学生姓名
name_list = ['张三', '李四', '王五', '赵六', '田七']

# 需求2:查找第一个列表中第一个姓名
name = name_list[0]
print(name)
# 当然也可以使用负索引查找
print(name_list[-5])

# 需求3: 查找最后一个姓名
print(name_list[-1])
# 当然也可以使用正索引查找
print(name_list[4])
# 注意: 因为正索引从0开始数,有时候很容易数错,如果访问了不存在的索引就会包索引越界异常
# print(name_list[5])  # IndexError: list index out of range

# 需求4: 查找索引为2位置的姓名
print(name_list[2])

列表的增删改查

增:添加元素
	列表名.append(元素): 把指定元素追加到列表中
	列表名.extend(容器): 把指定容器中每个元素取出,依次放到当前列表中
	列表名.insert(索引,元素): 把指定元素插入到列表指定索引位置
	
删:删除元素
	del 列表名[索引]: 把指定索引位置的元素删除
	列表名.pop(索引): 把指定索引位置的元素删除
	列表名.remove(元素): 把指定元素直接删除
	列表名.clear() : 清空当前列表
	del 列表名: 删除当前列表
	
改:修改元素
	列表名[索引] = 新元素
	
查:查找元素
	列表名[索引]: 查找指定索引位置上的元素
	列表名.count(元素): 查找指定元素在列表中出现的次数    
	列表名.index(元素): 查找指定元素在列表中的索引位置    注意: 如果不存在就报错
	len(列表名): 查询当前列表中所有元素的总个数

列表的遍历

1.for循环遍历
	for 元素名 in 列表:
		操作元素
		
2.while循环遍历
	核心思想: 利用while变量作为列表的索引使用
	index = 0
	while index < len(列表):
		元素名 = 列表[index]
		操作元素
		index+=1
		
3.对比
while循环和for循环,都是循环语句,但细节不同:
在循环控制上:
    while循环可以自定循环条件,并自行控制
    for循环不可以自定循环条件,只可以一个个从容器内取出数据
在无限循环上:
    while循环可以通过条件控制做到无限循环
    for循环理论上不可以,因为被遍历的容器容量不是无限的
在使用场景上:
    while循环适用于任何想要循环的场景
    for循环适用于,遍历数据容器的场景或简单的固定次数循环场景

示例

# 分别使用while循环和for循环遍历列表
# 定义非空列表
name_list = ['张三', '李四', '王五']
# while循环遍历(前提该容器要有索引)
# 核心思想: 利用while中变量作为列表的索引使用
# 1.定义初始变量
index = 0
# 2.条件判断
while index < 3:
    # 3.循环体
    # 根据索引去列表中找对应的元素并打印
    element = name_list[index]
    print(element)
    # 4.条件控制
    index += 1
print('-----------------------------')
# for循环遍历
for element in name_list:
    print(element)