一. 序列
1. 列表list 代表组
定义:
[1,2,3] 使用中括号包裹, 元素使用逗号分隔
内部元素的类型可以是多样的, 可以由 字符串, 数字, 列表 等混合
嵌套列表: 列表元素可为列表
[1 , ['sda',2] , 'asdaasd' , True]
#获取sda
[1 , ['sda',2] , 'asdaasd' , True][1][0]
列表的基本操作:
元素选择
# 定义一个列表
['行秋','香菱','重云','班尼特']
# 获取第一个元素
['行秋','香菱','重云','班尼特'][0]
# 获取多个元素
['行秋','香菱','重云','班尼特'][0,2]
# 获取最后一个元素
['行秋','香菱','重云','班尼特'][-1,0]
# 追加元素
['行秋','香菱','重云','班尼特']+['钟离']
# 倍增元素
['行秋','香菱','重云','班尼特']*2
2.元组(tuple) tapo
定义:
使用() ,元素间隔是逗号
(1,2,3)
(1,'12啊啊',True)
元祖的操作:
# 定义一个元组
('行秋','香菱','重云','班尼特')
# 获取第一个元素
('行秋','香菱','重云','班尼特')[0]
# 获取多个元素
('行秋','香菱','重云','班尼特')[0,2]
# 获取最后一个元素
('行秋','香菱','重云','班尼特')[-1,0]
# 追加元素
('行秋','香菱','重云','班尼特')+('钟离')
# 倍增元素
['行秋','香菱','重云','班尼特']*2
# 定义一个元素的元组
(1,)
# 定义一个空的元组
()
3. 序列总结
- str, list, tuple 都属于序列
- 序列中的元素都有对应的角标, 从0起始
- 字符根据 ascll 码,也可以比较大小
序列的共有操作:
# 通过角标获取元素 []
[1,2,3][0]
# 切片操作 [n,d,x]
[1,2,3,4,5][0,1]
[1,2,3,4,5][-1::2]
# + 与 *
[1,2,3] + [4,5,6]
[1,2,3] * 3
# 序列中有多少元素 len()
len([1,3,'asd'])
# 求最大 max()
max([1,2,3,4])
# 求最小 min()
min([1,2,3,4])
# 是否包含某一元素, 返回bool类型 in
2 in [1,2,3]
# 判断不在序列中 not in
2 not in [1,2,3]
4.list 与 tuple的区别
list 为可变类型 , 修改后内存地址不会改变
tuple为不可变, 修改操作为 新建数据,重新赋值
不可变数据类型中包含可变数据类型, 可变数据内容可改变
二.无序
1. 集合 set
特性:
- 无序
- 元素不重复
定义: 使用{} 包裹 , 元素间隔是逗号
# 初始化一个 set,集合
{1,2,3,4,5,6}
集合的操作
# 求集合的差集 -
{1,2,3,4,5} - {3,4}
# 求集合的交集 &
{1,2,3,4,5} & {3,4}
# 求集合的合集 |
{1,2,3,4,5} | {1,7,3,4,6}
# 如何定义一个空的集合
set() 值为 0
2.字典 dict
特性:
- 由key和value 组成, k与v用:分隔, 元素间逗号分隔
- key 不能重复
- key 必须是不可变数据类型 (int,str)
定义:
{1:'行秋',2:'重云',3:'班尼特',4:'香菱'}
使用:
a = {1:'行秋',2:'重云',3:'班尼特',4:'香菱'}
# 引用key 得到value值
a[2] 得到 '重云'
# 空的字典如何定义 {}