一、 什么是数据结构
在计算机科学中,数据结构(英语:data structure)是计算机中存储、组织数据的方式。
1. Python 中核心数据结构分类
- 序列类型: 字符串、列表、元组
- 泛映射类型: 字典
- 集合: set()
在 Python中列表、元组、字典、集合都称为容器。
2.序列类型数据结构共有的特点:
- 序列类型中的元素都有对应的位置,这个位置叫偏移量或索引
image.png
二、列表
1.创建列表
li = [ ]
li = ['a','b','c']
# list() 从其他类型转换
In [1]: list('hello')
Out[1]: ['h', 'e', 'l', 'l', 'o']
#从字符串转换 split()
In [1]:'www.baidu.com'.split('.')
Out[8]: ['www', 'baidu', 'com']
2.嵌套列表
li = [['one', 'two', 'three'], [1, 2, 3]]
3.列表的基本操作
3.1 取值
没有嵌套的列表
li_f = [ 'insert', 'append','extend', 'remove', 'pop', 'sort', 'sorted']
嵌套列表
li_t = [['one', 'two', 'three'], [1, 2, 3]]
3.2 切片
演示
li_f = [ 'insert', 'append','extend', 'remove', 'pop', 'sort', 'sorted']
# 获取全部元素
li_f[:]
# 反转
li_f[::-1]
3.3 必会方法
说明 | |
---|---|
len() | 方法是一个内置函数,可以统计序列类型的数据结构的长度。 |
in | 判断元素是否存在于列表中。 |
append() | 向列表的最后位置,添加一个元素,只接收一个参数。 |
insert() | 向原列表的指定位置插入一个元素,接收两个参数,第一个是索引号,第二个是要插入的元素。 |
extend() | 可以把一个序列类型中的每个元素追加到原列表中,接收的参数是一个序列类型的数据(字符串,列表)。 |
remove() | 移除列表中某个指定的元素,没有返回值,并且假如有多个相同值的元素存在,每次只会移除排在最前面的那个元素 |
pop() | 从原列表中删除一个元素,并且把这个元素返回。接收零个或一个参数,参数是偏移量,int 类型。 |
index | 返回指定元素的索引号。 |
count() | 是列表的内置方法,可以统计出相同值的元素在列表中总共出现都少次. |
sort() | 是列表的内置方法,对列表中元素进行排序。默认是升序, 这个改变列表自身。 |
sorted() | 是 python 的内置函数,接受一个参数,参数可以是任意序列类型的数据,但是元素的类型必须相同.比如是含有都是 str 的列表,或者是含有都是 int 的列表它会返回一个新的类别,原列表不变。 |
# len()
n = len(li)
print(n)
# in
if 5 in li:
print('存在')
# append()
li.append('a')
print(li)
# insert()
li.insert(0, 'b')
print(li)
# extend()
l 2 = ['qf','yangge']
li.extend(l2)
print(li)
# remove()
obj.remove('a')
# pop()
# 删除列表中的最后一个元素
li.pop()
# 删除列表中第二个索引号对应的元素,并且返回这个元素,用变量名
`n` 接收。
n = li.pop(2)
# index
idx = li.index(4)
print(idx)
# count()
num = obj.count(4)
print(num)
#sorted()
li = [2,10,3,7]
l10 = sorted(li)
print(li)
print(l10)