第四章、组的概念
第四章、组的概念
- 组在python中其实是序列,str,list,tuple都是序列,每一个序列中的元素都会分配一个序号
一、列表(list)
- 列表的定义
[1,2,3,4]
type([1,2,3,4]) # 查看数据类型
- 列表是动态数据类型,列表中也可以存不同的数据类型的数据
["hello world",1,[1,2],True,False]
- 列表中加入列表,叫嵌套列表
[[1,2,3],[4,5,6],[7,8,9]]
- 列表的操作
["星月打击","苍白之瀑","月之降临","月神冲刺"]
["星月打击","苍白之瀑","月之降临","月神冲刺"][0] # 访问字符串
["星月打击","苍白之瀑","月之降临","月神冲刺"][-1:] # 用冒号这种访问方式获得的数据依据是列表
["星月打击","苍白之瀑","月之降临","月神冲刺"]+["星月打击","苍白之瀑","月之降临","月神冲刺"] # 两个列表变成一个列表
["星月打击","苍白之瀑","月之降临","月神冲刺"]*3 # 将列表数据乘3倍
二、元组(tuple)
- 元组的定义
() # 小括号
(1,2,3,4)
("1",2,True)
- 元组的访问
(1,2,3,4)[1]
(1,2,3,4)[-1:]
- 元组的操作
(1,2,3,4)*3
(1,2,3,4)+(1,2,3,4)
-
type((1)) # 整型 type(("hello")) # str
-
原因:在python中元组的定义和运算符小括号冲突,编译器强制规定,只有一个元素的时候是小括号,想要定义一个元素的元组时可以在数字后面加一个逗号。
-
type((1,)) # 元组
-
-
表示空的元组
type(()) # 空的元组type([]) # 空的列表
序列的共有特性
- []操作序列
["星月打击","苍白之瀑","月之降临","月神冲刺"][0] # 访问字符串["星月打击","苍白之瀑","月之降临","月神冲刺"][-1:] # 访问字符串
- [:]切片操作
"hello world"[1:3] # 切2-4这几个元素"hello world"[0:8:2] # 隔两个取一次
- 序列可以+、*
- 一个序列中是否包含某个元素用in[1]
3 in [1,2,3,4,5,6,7] # 返回Ture
- 某个元素不在这个序列中用not in[2]
3 not in [1,2,3,4,5,6,7] # 返回False
- 查看某个序列有多少元素len
len([1,2,3,4,5]) # 返回5len("hello world") # 返回11
- 求最大值和最小值max,min
max([1,2,3,4,5]) # 返回5min([1,2,3,4,5]) # 返回1max("helllo world") # 返回wmin("helllo world") # 返回空格min("hellloworld") # 返回d
-
总结:序列中的最大最小按照字符编码进行排序ascll
-
将字符转换成asscll表中的数字
-
ord("w") # 119 ord(" ") # 32
三、集合set(无序)
- 定义:用花括号
{}{1,2,3,4,5}type({1,2}){1,2,3,4,5}[0] # 报错,所以更不能切片
-
集合的特点
- 无序
- 唯一
{1,1,2,2,3,3} # 结果:{1,2,3}
-
集合支持的操作
-
len
-
len({1,2,3,4})
-
in/not in
-
1 in {1,2,3,4}1 not in {1,2,3,4}
-
-
集合的特殊操作(只有集合才有这个操作)
-
-
差集-
{1,2,3,4} - {3,4} # 结果{1,2}
-
-
|
求并集-
{1,2,3,4} | {4,5,6} # 结果){1,2,3,4,5,6}
-
-
&
求交集-
{1,2,3,4} & {3,4} # 结果{3,4}
-
-
-
如何定义一个空的集合。
-
type({}) # 结果:dict字典type(set()) # 结果:空的集合
-
四、字典
-
定义:
-
{key1:value,key2:value2,key3:value3}{"Q":"星月打击","W":"苍白之瀑","E":"月之降临","R":"月神冲刺"}
-
-
字典的操作不能按照序列的方式
-
{"Q":"星月打击","W":"苍白之瀑","E":"月之降临","R":"月神冲刺"}["Q"]
-
字典中是不能存在两个相同的key的
-
{"Q":"星月打击","Q":"苍白之瀑","E":"月之降临","R":"月神冲刺"}["Q"] # 结果:"苍白之瀑"{"Q":"星月打击","Q":"苍白之瀑","E":"月之降临","R":"月神冲刺"} # 结果:{"Q":"苍白之瀑","E":"月之降临","R":"月神冲刺"}
-
-
空的字典定义
-
type({}) # dict
-