常见的容器(复合数据类型)
容器的引入:为解决大量数据同时操作的问题(python中没有数组)
list 列表
set 集合
dict 字典
tuple 元组
list:线性表
ls = [] 或者ls = list([1,2,3])
元素的访问:使用下标,从0开始
遍历:
#for遍历
for index in list:
print(index)
#while遍历
index=0
while index < len(ls2):
print(ls2[index])
index += 1
list常见方法:
append() #尾部追加一个元素
insert() #任意位置插入一个元素
remove() #移除一个指定元素,若有多个相同元素,则只移除list中靠前的一个元素
clear() #清除列表
pop() #删除最后一个元素
sort() #排序
reverse() #翻转数据
count() #统计元素数量
index() #求元素在list中的下标,若元素不存在,则报错
copy() #复制对象,浅拷贝
extend() #继承,即拼接两个list:ls.extend(ls2),相当于继承了列表
注:使用insert时,如果index >= 下标,则在list中最后的位置添加
请简述python中sort方法与sorted方法的区别?
对于Python内置函数sorted(),先拿来跟list(列表)中的成员函数list.sort()进行下对比。在本质上,list的排序和内建函数sorted的排序是差不多的,连参数都基本上是一样的。
主要的区别在于,list.sort()是对已经存在的列表进行操作,进而可以改变进行操作的列表。而内建函数sorted返回的是一个新的list,而不是在原来的基础上进行的操作。
#---------------------------------------------------------------------------------------
set:集合(无序、不能重复)—底层使用hash算法(32位16进制字符串)
定义集合:
s = {至少需要有一个元素} #若其中无元素,则type为字典,不推荐使用该方法
s = set() #得到一个集合
s = set([列表]) #将列表转化为一个集合
s = set({集合}) #初始化集合
通过dir查看set所有方法:
dir(dict)
'add', 'clear', 'copy', 'difference', 'difference_update',
'discard', 'intersection', 'intersection_update', 'isdisjoint',
'issubset', 'issuperset', 'pop', 'remove', 'symmetric_difference',
'symmetric_difference_update', 'union', 'update'
set常用方法:
add() #添加元素
clear() #清空元素
copy() #浅拷贝对象
pop() #任意弹出元素
remove() #按元素删除对应元素,若该元素不存在,会报错
discard() #删除对应元素,若没有该元素,也不