容器
定义:容器是一种把多个元素组织在一起的数据结构,容器中的元素可以逐个迭代获取,可以用in,not in关键字判断元素是否包含在容器内。通常这类数据结构把所有的元素储存在内存里,但并不是所有的元素都放在内存中,比如迭代器和生成器对象;常见的容器有:列表,集合,元组,字典
列表
python中的列表是基于双链表实现的
列表的定义:
1)直接定义:
例如:ls=[1,2,3,4,5]
2)通过全局函数—list()实现:
例:ls=list([1,2,3,4])
列表元素的访问:
列表可以通过下标来访问元素:若从第一个元素开始访问,脚标从0开始,若从最后一个开始访问,则脚标从-1开始;脚标超过列表长度,运行时则会报错
例:
遍历列表
1)通过for循环
例:
2)while 循环 ,借助len()返回容器的长度
例:
列表常用方法
容器可以通过dir()查询常用方法;还可以通过help()查询方法的使用
append() -------- 在列表的尾部追加元素
例:ls1.append(7)
insert (index,object) ---------- 在列表里指定的位置添加元素
例:ls1.insert(3,9)
sort() ---------- 列表元素进行排序,整形(从小到大的顺序)
例:ls1.sort()
index() --------- 查看列表里某一个元素的下标(如果有多个元素,查找的角标是第一个出现的位
置),如果列表里没有元素,会报错
例:ls1.index(3)
reverse() --------- 将列表元素进行翻转
例:ls1.reverse()
remove() -------- 通过元素在列表中删除元素,如果元素不存在会报错
count()---------- 统计元素在列表中出现次数
clear() --------清除列表
copy()------- 浅拷贝 不等价于 =(若删除ls1中的一个元素,ls2元素不会变;复制语句会同时变化)
例:ls2=ls1.copy()
extend()------ 合并列表
pop() ------- 从列表的尾部删除元素,并且返回删除掉的元素,pop(i)------删除角标为i处的元素
练习:
L=[
[1,2,3],
[“python”,“java”,“C++”,“PHP”],
[True,Flase,“H”]
]
要求:
打印”3“
打印”C++“
打印”Flase“
L=[
[1,2,3],
["python","java","c++","PHP"],
["Ture","False","H"]
]
print(L[0][2],L[1][2],L[2][1])
print(L[1][2])
print(L[2][1])
**集合**
集合是无序且不能重复的
创建集合的方法:
1)s={1,2,3,4,5}
2)s=set({1,2,3,4})
创建集合时,大括号中至少有一个元素,若集合为空时则表示为字典:
如:
集合常用的方法:
clear() -------------------- 清除元素
copy()
remove()
add() ---------------- 向集合添加元素,如果添加的元素是重复的,不能够添加
difference() --------- 差集
intersection()--------- 交集
union() -------------------并集
update() -------- 更新集合,合并集合
discard()-------- 移除元素,如果元素不存在,不做任何操作
**元组**
定义方法:
1)t=(1,2,3)
2)t=tuple((1,2,3,4))
元组的特点:
元组是有序的,可以通过下标来获取元素,下标也可以是负数,但是不可以通过下标来更改元素值。
元组是一个不可变的类型(虽然元组不可变,但是元组内的元素是可变的)
例如:
常用方法
count()
index ()
*注意:若元组中只有一个数字,则其类型为int型* 如:a=(1)-----a的类型为int型
所以元组中只有一个值的正确定义为:a=(1,)
**字典**
字典是以键值存在的
字典的定义方法:
1)d={"name":"zhangsan","age":18}
2)d=dict({"name":"zhangsan","age":19})
访问元素
通过key获取对应value ------ d["key"],如果没有Key 会抛出异常
字典[key] = 新值
字典[新key] = 新值

字典常用方法:
clear()
copy()
get() -------- 通过key获取value ,如果没有Key,返回的是none
keys() ------------ 返回字典里所有的Key值
values () ------------------ 返回的所有的值
setdefault ----------- 设置的默认值
items() -------- 返回所有的键值对
pop(key) ------------- 通过key来移除键值对,返回的是key所对应的value,删除字典里没有的key
会抛出异常
popitem() ---------- 移除键值对,遵循LIFO,返回值删除的键值对
字典的遍历
1)
for k in d:
print(k,d.get(k))`
2)
for k in d.keys():
print(k,d[k])
3)
for k,v in d.items():
print(k,v)