数据结构
- 列表
- 元组
- 字典
- 集合
============================================
列表
列表是用来存储一组有序数据元素的数据结构,元素之间用逗号分隔。整数,浮点数,字符串,对象都可以往里丢。
- 创建列表——[]
- 列表的复制——*
- 列表的合并——+/extend eg:int_list.extend(str_list)
- 插入新元素
末尾插入:append() 内部插入:insert() - 统计列表内元素个数:count()
- 获取列表中值出现的位置——index(),记住任何时候从0开始索引的
- 获取指定位置的值
普通索引[]
切片索引[1:3],注意左闭右开,不包含右边的3。取到最后的话[3:] - 删除列表的值
指定位置:pop()
指定元素:remove() - 排序
升序:sort()
降序:reverse(); sort(reverse=True) - attention:
* member2=member——修改一个,另一个也会修改;
*member2=member[:]——只会修改一个。
*in/not in可以判断是否存在在列表中,但只会判断一个层次,无法判断列表中的列表。
*index()返回第一个出现的位置,指定范围内的需要加参数——index(123,3,7)
============================================
元组
元组为带上枷锁的列表,不可以修改。
- 创建元组——()
- 元组的复制——*
- 元组的拼接——+
- 插入新的元素——temp[:2]+(‘战战’,‘狗熊’)+temp[2:]
- 删除——del temp
======================================
字典
字典是一种键值对的结构。
-
创建字典:{};dict()——dict里面只能是一个参数,所以用元组
1.创建空字典 a={} a['apple']=2 a['pear']=4 2.直接以键值对传入字典 a={'apple':2,'pear':4} 3.放入元组内,用dict b=(['a',2],['b',4]) a=dict(b)
-
访问字典的几种方法:keys(),values(),items()
for each in dict1.keys():
-
fromkeys——dict1={} dict1.fromkeys((1,2,3))/dict1.fromkeys((1,2,3),‘数字’)
-
get的用法:dict1.get(32,‘木有’)——避免报错,当没有32时,返回木有
-
清空:dict1.clear()
-
拷贝:dict2=dict1.copy()——dict1变动时,dict2不变
-
删除:a.pop(2)——删除了键为2的键值对
-
添加:a.setdefault(5,‘five’)
-
更新:b={‘white’:‘dog’} a.update(b) a中添加了b
======================================
集合
在我的世界里,你就是唯一。
- 创建集合:{},没有映射关系/set——set([……])
- 唯一的,无序的,无法索引
- 去掉列表num中的重复元素 list(set(num))
- 添加/删除:add()/remove()
- 不可变集合:frozenset([……])
======================================
序列
列表,元组和字符串的共同点——统称为序列
—都可以通过索引得到每一个元素
—默认索引值总是从0开始
—可以通过分片的方法得到一个范围内的元素的集合
—有很多共同的操作符(重复操作符,拼接操作符,成员关系操作符)
- 相互转换:list(),tuple()——把一个可迭代对象转换为元组,str()
- len(),max(),min(),sum()
- sorted()排序,reversed()——reversed返回的是一个迭代器对象,list(reversed())
- zip函数——list(zip(a,b)) a,b为列表,返回一个列表,里面为元组