序列是Python中最基本的数据结构。序列中的每个元素都会分配一个数字(下标 或 索引)。
在Python的内置类型中,最常见的是列表和元组,除此之外还有一种存储的容器叫字典
列表list
表示:
列表是Python中的一种是数据类型,可以存储不同类型的数据
list_example = [1,'HELLO',[2,'CHINA'],3]
访问:
下标(索引)来访问列表的值
list_example = [1,'HELLO',[2,'CHINA'],3]
list_example[0]
list_example[1]
list_example[2]
循环遍历:
for遍历
list_example = [1,'HELLO',[2,'CHINA'],3]
for i in list_example:
print(i)
while遍历
使用while遍历时要比for复杂,首先需要或者list的长度len(list变量)
然后使用变量自增的方式 通过下标来访问list的方式遍历
list_example = [1,'HELLO',[2,'CHINA'],3]
i=0
while i < len(list_example):
print(list_example[i])
i+=1
列表的常见操作:
列表数据的添加
通过append方法向列表的_尾部_添加 不同类型的 变量:
list的变量名.append(被添加的变量)
普通变量:
# coding:gbk
list_example = [1,2,3]
print('添加前遍历:')
for i in list_example:
print(i)
list_example.append(4)
print('添加后遍历:')
for i in list_example:
print(i)
添加另一个list:
# coding:gbk
list_example1 = [1,2,3]
list_example2 = [1,2,3,4]
print('添加前遍历:')
for i in list_example1:
print(i)
list_example1.append(list_example2)
print('添加后遍历:')
for i in list_example1:
print(i)
通过extend方法向 列表 添加 另一个列表中的 全部 元素
# coding:gbk
list_example1 = [1,2,3]
list_example2 = [1,2,3,4]
print('添加前遍历:')
for i in list_example1:
print(i)
list_example1.extend(list_example2)
print('添加后遍历:')
for i in list_example1:
print(i)
insert 精准插入 不同类型的变量
list变量名.insert(索引,变量)
# coding:gbk
list_example1 = [1,2,3]
list_example2 = [1,2,3,4]
print('添加前遍历:')
for i in list_example1:
print(i)
list_example1.insert(1,list_example2)
print('添加后遍历:')
for i in list_example1:
print(i)
在列表中查找元素
成员运算符的应用:
in: 成员存在于list中返回True 否则 False
not in: 成员不在list中返回True 否则 False
# coding:gbk
list_example1 = [1,2,3]
if 1 in list_example1:
print('该成员在list中')
else:
print('该成员不在list中')
1
# coding:gbk
list_example1 = [1,2,3]
list_example2 = [1,2]
if list_example2 in list_example1:
print('该成员在list中')
else:
print('该成员不在list中')
2
# coding:gbk
list_example1 = [1,2,3]
list_example2 = [1,2]
if list_example2[1] in list_example1:
print('该成员在list中')
else:
print('该成员不在list中')
3
# coding:gbk
list_example1 = [1,2,3,[1,2]]
list_example2 = [1,2]
if list_example2 in list_example1:
print('该成员在list中')
else:
print('该成员不在list中')
通过1,2,3三个例子发现,成员运算符匹配的必须是同 类型 的数据
修改list中的数据
直接通过下标访问并修改
# coding:gbk
list_example1 = [1,2,3,[1,2]]
list_example1[0] = "HELLO"
for i in list_example1:
print(i)
列表中元素的删除
使用del删除list
del方法不仅仅可以删除元素,还可以删除列表
语法:
del 删除元素
# coding:gbk
list_example1 = [1,2,3,[1,2]]
print('删除之前')
for i in list_example1:
print(i)
print('删除之后')
del list_example1[0]
for i in list_example1:
print(i)
print('删除列表之后')
del list_example1
for i in list_example1:
print(i)
删除列表之后,再次编译则 直接变成了 未定义
使用pop方法删除列表的末尾 数据类型
语法:
list变量名.pop()
# coding:gbk
list_example1 = [1,2,3,[1,2]]
print('删除之前')
for i in list_example1:
print(i)
print('删除之后')
list_example1.pop()
for i in list_example1:
print(i)
使用remove的方法指定删除某个特定的元素
语法:
list变量名.remove(指定被删除的元素)
# coding:gbk
list_example1 = [1,2,3,[1,2]]
print('删除之前')
for i in list_example1:
print(i)
print('删除之后')
list_example1.remove(1)
for i in list_example1:
print(i)
列表的排序
倒序输出reverse()
由小到大排列sort()
由大到小排列sort(reverse=True)
# coding:gbk
list_example1 = [5,9,6,7,4]
print(list_example1)
list_example1.reverse()
print(list_example1)
list_example1.sort()
print(list_example1)
list_example1.sort(reverse=True)
print(list_example1)
注:这里必须分开写,下方写法会报None
# coding:gbk
list_example1 = [5,9,6,7,4]
print(list_example1)
print(list_example1.reverse())
print(list_example1.sort())
print(list_example1.sort(reverse=True))
列表的 嵌套
嵌套是指一个列表嵌套了 另一个列表
下面以学生分宿舍的例子呈现:
假定这里有六个学生A、B、C、D、E、F
而宿舍只有三个
请编写一个程序
求随机分配到宿舍的人和人数:
# coding:gbk
import random
# 学生:
students = ['A','B','C','D','E','F']
# 宿舍:
dorm = [[],[],[]]
for temp in students:
index = random.randint(0,2)
# 将学生随机分配到宿舍里
dorm[index].append(temp)
i = 1
for show in dorm:
print("宿舍%s的人数是%s"%(i,len(show)))
i+=1
for t in show:
print("%s"%t,end='')
print("-"*20)
for循环成员运算符前边的 变量类型 取决于 成员运算符之后的 对象类型(被遍历的对象类型)
元组tuple
与List相似,但不同的是tuple中的元素不能被修改
元组的创建
一:
one = (1,2,3,4,5,6,7,8)
二:
two = 'a','b','c','d'
大多数用第一中创建方法
元组元素的访问
tuple与list相同都是通过下标(索引来访问元素)
元组的组合
tuple虽然无法修改元素,但可以将多个tuple用 + 来拼接成一个新的 tuple
元组的遍历
for:
在这里插入图片描述
while:
关于元组的函数
len(tuple变量) | 计算元组的长度 |
---|---|
max(tuple变量) | 求元组中值最大的元素![]() |
min(tuple变量) | 求元组中值最小的元素 ![]() |
tuple(list变量) | 将list转换为tuple ![]() |
字典
字典:既可以存储多个数据,还可以快速的定位到某个元素
创建字典
字典中存储的数据都是以键值对的方式存在的,键是唯一的,不可以重复
根据键来访问元素
若访问的键不存在则会报错
如果不确定 字典 中有无有这个键,则可以用==get(‘键’,默认值)==方法来判断是否存在相应的键,如果不存在,则会返回None
get() 将默认值设置为China:此时若字典中无address这个键,则也会返回值 China
修改字典中的元素
直接将原来的值 替换
添加字典中的元素
当使用 修改字典的方法时 若键不存在,则该字典会收录该键 与 其对用的值
删除字典中的元素
del
del既可以删除元素,也可以删除字典
删除元素:
删除字典:
clear()清空字典中的键值对
获取键值对的个数
语法:
len(字典变量)
获取字典的键视图
语法:
字典变量.keys()
获取值视图
语法:
字典变量.values()