Python大数据基学习总结day06——数据容器(列表)

数据容器

1.数据容器入门

1.各个容器的符号

2.方法和函数的比较

1.知识点总结

2.实例演示:

3.列表的定义

1.基本语法格式:

4.列表的下标索引

1.知识点总结

2.实例演示:

5.列表的增删改查

1.知识点总结

增:添加元素

删:删除元素

 改:修改元素

查:查找元素

2.实例演示: 

6.列表的遍历

1.知识点总结

2.对比

 3.实例演示:


1.数据容器入门

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

  • 列表(list)  
  • 元组(tuple)
  • 字符串(str)
  • 集合(set)
  • 字典(dict)

1.各个容器的符号

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

2.方法和函数的比较

1.知识点总结

  • 方法: 本质是一个函数,只是这个函数放到class xxx 类中
  • 注意: 可以说方法一定是一个函数,但是不能说函数一定是一个方法

 在python中,如果将函数定义class(类)的成员,那么函数会称为:方法

#函数
def add(x,y)
	return x+y

#方法(函数定义为class类的成员为方法)
class Student:

	def add(self,x,y):

 函数的使用:

num = add(1,2)

 方法的使用:

student = Student()
num = student.add(1,2)

2.实例演示:

# 生成随机数
# 自己不会写这个功能,而且python已经提供了,拿过来用
import random

num = random.randint(1, 10)
print(num)


# 定义一个计算两个数和的函数
def get_sum(a, b):
    return a + b


he = get_sum(1, 10)
print(he)

"""
方法: 本质是一个函数,只是这个函数放到class xxx 类中
上述random中的randint本质是一个函数,一般称之为方法
自己写的get_sum就是一个函数
"""

3.列表的定义

1.基本语法格式:

#字面量
#(元素1,元素2,元素3,元素4,...)

#定义变量
#变量名称 =[元素1,元素2,元素3,元素4,...]
list3 = ['a', 'b', 'c']
print(list3)

#定义空列表
#变量名称 = []
#变量名称 = list()
list1 = []
print(list1)
list2 = list()
print(list2)

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

"""列表内的每一个数据,称为之元素
以[]作为标识
列表内每一个元素之间用,逗号隔开"""

4.列表的下标索引

1.知识点总结

  • 下标索引: 就是咱们说的编号,也就是容器中每个元素的编号
  • 正索引: 从0开始,从左到右,依次递增
  • 负索引: 从-1开始,从右到左,依次递减
  • 根据下标索引查找对应元素格式:  列表名[索引]

2.实例演示:

#下标索引,依次递减
name_list =['Tom','Lily','rose']
print(name_list[-1])		#结果:Rose
print(name_list[-2])		#结果:Lily
print(name_list[-3])		#结果:Tom

#嵌套列表的下标索引
my_list = [(1,2,3),(4,5,6)]

#获取内层第一个list
print(my_list[0])		#结果:[1,2,3]
#获取内层第一个list的第一个元素
print(my_list[0][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])

5.列表的增删改查

1.知识点总结

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

2.实例演示: 

"""
因为方法名都是见名知意的,所以建议同学们记重点单词
添加元素相关单词:
    append:附加
    extend:扩展
    insert:插入
查询元素相关单词:
    count: 计数
    index: 索引
    length: 长度
删除元素相关单词
    delete:删除
    pop : 弹出
    remove:移除
    clear: 清空
"""
# 1.演示添加功能
# 需求:已知空列表,要求使用三种方式添加元素到列表中
name_list = []
# 需求:依次添加'张三','李四'到列表中
name_list.append('张三')
name_list.append('张三')
name_list.append('李四')
print(name_list)
# 需求: 一次性添加'王五','赵六','田七'到列表中
name_list.extend(['王五', '赵六', '田七'])
print(name_list)
# 需求: 把'周八'直接插入到第一个位置
name_list.insert(0, '周八')
print(name_list)

# 2.演示查询功能
# 需求: 查询'张三'在列表中个数
print(name_list.count('张三'))
# 需求: 查询'周八'的索引
print(name_list.index('周八'))
# 注意: index方法如果查询的元素不存在会报错
# print(name_list.index('周一'))# ValueError: '周一' is not in list
# 需求: 查询列表中元素个数
print(len(name_list))
# 需求: 查询最后元素内容
print(name_list[-1])

# 3.演示修改功能
# 需求: 修改最后元素内容为'钱九'
name_list[-1] = '钱九'
# 再次查看最后一个元素内容
print(name_list[-1])

# 4.演示删除功能
# 删除第一个元素
del name_list[0]
print(name_list)
# 删除最后一个元素
name_list.pop(-1)
print(name_list)
# 删除张三这个元素
name_list.remove('张三')
print(name_list)
# 清空列表中所有元素
name_list.clear()
print(name_list)
# 删除name_list这个列表
del name_list
print(name_list)  # 报错说明删除成功,NameError: name 'name_list' is not defined

6.列表的遍历

1.知识点总结

1.for循环遍历
	for 元素名 in 列表:
		操作元素
		
2.while循环遍历
	核心思想: 利用while变量作为列表的索引使用
	index = 0
	while index < len(列表):
		元素名 = 列表[index]
		操作元素
		index+=1

2.对比

while循环和for循环,都是循环语句,但细节不同:
在循环控制上:

  •     while循环可以自定循环条件,并自行控制
  •     for循环不可以自定循环条件,只可以一个个从容器内取出数据

在无限循环上:

  •     while循环可以通过条件控制做到无限循环
  •     for循环理论上不可以,因为被遍历的容器容量不是无限的

在使用场景上:

  •     while循环适用于任何想要循环的场景
  •     for循环适用于,遍历数据容器的场景或简单的固定次数循环场景

 3.实例演示:

# 分别使用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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值