Python中的容器

1、list 列表
2、set 集合
3、tuple 元组
4、dict 字典
一 :list列表:(可以储存任意类型)
list的定义
变量名称 = [元素]
变量名称 = list([元素])
例如:
a = [1,2,3,4,5,6]
a = list([1,2,3,4,5,6])
列表中,我们可以使用下标来访问元素(需要注意列表中第一个元素的下标从0开始)
例如 a = [1,2,3,4,5]
a[1]
2
list的长度
len:全局函数,可以求一个容器的元素个数
例如:
len(a)
5
list的遍历(要和for循环配合使用)
for来遍历容器
例如:
for i in a:
print(i)
1
2
3
4
5
列表常见方法
[‘append’, ‘clear’, ‘copy’, ‘count’,
‘extend’, ‘index’, ‘insert’,
‘pop’, ‘remove’, ‘reverse’, ‘sort’]
a = [1,2,3,4]
append # 表示在列表末尾添加新的元素
例如
a.append(10)
a
[1,2,3,4,10]
insert # 表示在特定的位置添加新的元素
a.insert(1, 6)
a
[1,6,2,3,4,10]
clear # 将列表清空
b = [1,2,3]
b.clear()
b
[]
remove # 通过元素本身将元素移除列表
a.remove(6)
a
[1,2,3,4,10]
pop # 删除最后一个元素
b = [5,1,54,2,4,418,57]
b.pop()
57
b.pop()
418
index # 查找元素在列表中的位置,注意:如果元素不存在,则抛出异常
a.index(10)
6
如果输入不存在的值就会报错
reverse # 翻转列表sort # 将列表排序,按照ASCII表排序
a.reverse()
[10,4,3,2,1]
sort # 将列表排序,按照ASCII表排序
b = [-10,-1,100,2000,2846,69]
b.sort()
b
[-10,-1,69,100,2000,2846]
copy # 复制、拷贝对象(浅拷贝)
a = [6,66,666]
b = a.copy(a)
a
[6,66,666]
b
[6,66,666]
a.append(10)
a
[6,66,666,10]
b
[6,66,666]
注意:拷贝完后在a中再添加元素后,b不会跟着拷贝过去,需要重新拷贝一次
extend # 合并列表
a = [1,2,3,4]
b = [4,5,6,7]
a.extend(b)
a
[1,2,3,4,5,6]

二 :set集合
无序并且不能重复
s = {1,1,2,3,44,44,5,66,66}
s
{1,2,3,44,5,66}
定义:
ss = set()
ss
set()

ss = set({1,5,6})
ss
{1,5,6}
|-- 常见方法
[‘add’, ‘clear’, ‘copy’, ‘difference’,
‘difference_update’, ‘discard’, ‘intersection’,
‘intersection_update’, ‘isdisjoint’, ‘issubset’,
‘issuperset’, ‘pop’, ‘remove’, ‘symmetric_difference’,
‘symmetric_difference_update’, ‘union’, ‘update’]

|-- add # 添加元素
s .add(“xiaobawang”)
s
{1,2,3,44, xiaobawang,5,66}
|-- clear
s.clear()
|-- copy
a = {78,95,98}
s.copy(a)
|-- pop # 随机移除元素
s.pop()
1
|-- remove # 异常指定的元素
s.remove(44)
如果移出的值不在集合中会报错
|-- intersection # 交集
s = {1,56,47,9}
ss = {1,26,32,24,47}
s. intersection(ss)
{1,47}
|-- difference # 差集
s.difference(ss)
{56,9}
|-- union # 并集
s.union(ss)
{1,56,47,9,32,26,47,24}

三 :元组:一系列固定的值(不可变数据类型)
t = (1,2,3,4)
t[1] = 10会报错 因为元组里面的数不可变

常用方法:
count # 统计元素出现的次数
t.count(1)
1
t.count(4)
1
index # 查找元素在列表中的位置,注意:如果元素不存在,则抛出异常,如果该元素存在多个,则返回第一个
b = (1,1,2,3,4,4,4,)
b.index(1)
0
b.index(2)
2
b.index(4)
4
注意:在Python中,如果只有一个元素,并且该元素是一个数字,则需要加上一个逗号来表示,
t = (10)
type(t)
int
t = (10,)
type(t)
class tuple:该变量是元组而不是数字

四 :字典 dict
{k1:v1, k2:v2}
字典是以键值对存在的,每个键对应一个唯一的值,键必须是字符串
d = {“age”:18,“name”:“yangjiaqi”,“gender”:“Flase”}
d
{‘age’:18,‘name’:‘yangjiaqi’,‘gender’:‘Flase’}

获取key对应的值,使用如下两种方式:
d[“key”] # 如果这个key不存在,则抛出异常
d.get(“key”) # 如果这个key不存在,则返回None
d[“age”]
18
d.get(“age”)
18
d.get(“addr”)
None
None 表示没有

|-- 常见方法
[‘clear’, ‘copy’, ‘fromkeys’, ‘get’, ‘items’,
‘keys’, ‘pop’, ‘popitem’,
‘setdefault’, ‘update’, ‘values’]

|-- clear
|-- copy
|-- pop(“key”) # 通过key删除对应的键值对
d.pop(“age”)
d
{‘name’:‘yangjiaqi’,‘gender’:‘Flase’}

|-- popitem # 随机删除一个键值对
d.popitem()
(‘name’:‘yangjiaqi’)
d
{‘gender’:‘Flase’}

|-- get # 通过key获取值
|-- keys()
|-- values()
|-- items()

|-- 循环遍历
	三种遍历
上一篇:LeetCode_66. Plus One


下一篇:关于《剑指offer》的66道编程题的总结(三)