Python中列表、元组、集合、字典的具体操作
共同可应用的函数:
验证序列中是否有某个元素,a (not) in 序列 => a是否不在列表中,返回True/False
len() → 序列中由多少个元素
max() → 序列中最大的元素
min() → 序列中最小的元素
ord() → ascll码的查询
list(列表)用”[ ]“来表示
tuple(元组)用”( )“
set(集合)用”{ }“来表示
字典是用集合来表示的:{key:value}
一、列表:
列表的定义现实世界中总是存在一组一组的事物。不同于其他类型叫法(二维数组)
在PYTHON中表示组的方法有很多种,并非只有一种。
第一种方式:列表。定义一个列表的基本方式:
>>>type([1,2,3,4,5,6])
<class 'list'>
列表所共有的特性:对于一个列表的内部的元素的类型,并不一定是某种固定的类型。
布尔类型也可以是列表:
>>>type(['hello','world',1,9,True,False])
<class 'list'>
甚至列表内的元素也可以是列表
<class 'list'>叫嵌套列表
type([[1,2],[3,4],[True,False]])这种形式的列表也可以叫“嵌套列表”
>>> type([[1,2],[3,4],[True,False]])
<class 'list'>
以下是列表的切片操作:
>>> ["新月打击","苍白之瀑","月之降临","月神冲刺"][3]
'月神冲刺'
>>> ["新月打击","苍白之瀑","月之降临","月神冲刺"][-1:]
['月神冲刺']
>>>["新月打击","苍白之瀑","月之降临","月神冲刺"][:-1]
['新月打击', '苍白之瀑', '月之降临']
>>> ["新月打击","苍白之瀑","月之降临","月神冲刺"][0:2]
['新月打击', '苍白之瀑']
① 如果以str[a:b]形式,列表切片,返回的是列表,如果以序列str[a] 返回是的字符。
② + 列表拼接
③ *n (n为数字,重复次数)
④- 减法报错
二、元组
1.元组与列表的相同点 :
1)元素可以时不同的数据类型
2)访问方式相同
3)都可以进行加法和乘法
2.元组内部元素的访问
>>> (1,2,3,4)[0]
1
>>> (1,2,3,4)[0:2]
(1, 2)
>>> (1,2,3)+(4,5,6)
(1, 2, 3, 4, 5, 6)
>>> (1,2,3)*3
(1, 2, 3, 1, 2, 3, 1, 2, 3)
3.切片
>>> (1,2,3,4)[0:2]
(1, 2)
>>> 'abcdefg'[2:4:2]
'c'
[x:y:z]→由x开始到y之前每z个元素做一次切片
4.注意:
>>> type((1))
<class 'int'>
>>> type((1,))
<class 'tuple'>
>>> type(("hello"))
<class 'str'>
First :(1)将自动识别为整数int,因为系统自动默认识别为:(1)
Second:("hello")原理同上
Third:(1,)将识别为元组
三、集合
集合:集合是无序的无法索引其中的值也不支持切片操作,集合也是不重复的。
支持的操作; "-"差集,“&”交集,“|”合集
具体的见代码
>>> {1,1,2,2,3,3,4,4}
{1, 2, 3, 4}
集合set特殊操作
- 差集
>>> {1,2,3,4,5,6}-{3,4}
{1, 2, 5, 6}
&交集
>>> {1,2,3,4,5,6}&{3,4}
{3, 4}
|并集
>>> {1,2,3,4,5,6}|{3,4,7}
{1, 2, 3, 4, 5, 6, 7}
空集set()
四、字典
字典:dict字典是由key和value组成,每个字典是由无数个key和vlue组成的,是无序的。每个字典里的key值不能重复,虽然不会报错,但会覆盖。
key:关键字
value:关键字代表的相应的数据值
字典操作:通过key找到value相应的数据值
字典定义:{key1:value1,key2:value2}
key只能为不可变类型: int str tuple 不能是list
字典不是序列,没有***,引用需要使用key,如
>>> {'A':'a','C':'c','D':'d'}['A']
'a'
字典dict不能有重复的key(出现也不会报错,应注意!),如:
>>> {1:2,1:2,4:4}[1]
2
key不能用不可变类型,例如:tuple、str;但特别指出可以使用list!可以使用数字、字符和字符串,应注意识别数字的key和字符串的key,如:1!=‘1’;
>>> {'1':'aaa',1:'bbb'}[1]
'bbb'
>>> {'1':'aaa',1:'bbb'}['1']
'aaa'
>>>
数字类型:int,float,bool,complex(复数)
组:1.序列 -字符串,列表,元组。字符串和元组不可变,列表可变,支持+,*操作
2.集合和字典。集合无序,不重复,支持- & |操作。字典key值唯一且是不可变类型
3.集合和序列都可以使用函数,判断某个元素是否在其中(in or not in)
在此在网上找了一个思维导图如下: