前言
Python 是一门优雅而健壮的编程语言,它继承了传统编译语言的强大性和通用性,同时也借鉴了脚本语言和解释语言的易用性。
一 python 提供的容器
list(列表):
底层的实现是一个双向链表结构
定义list:1.若数据类型语言的特点,直接将值设置为[]方式
a = [1,2,3]
2.使用系统提供的API (应用程序接口),
list() #该函数可以定义一个列表
b = list() #此函数只能定义一个值
#因此若要定义多个值,应写为list([1,2,3,4,5]),可以将其他容器转化为列 表
线性容器通过下标可以访问列表中的每一个元素
# b = [1,2,3,4,5]
# b[2]
# >> 3
# b[2] = 33
# b = [1,2,33,4,5]
len全局函数:
len(literable):返回可迭代对象的长度
# >> len(b)
# >> 5
# >> b[len(b)-2]
# >> 4
列表的遍历:
# for i in b:
# print(i)、
# >> 1
# >> 2
# >> 3
# >> 4
# >> 5
列表常见方法:定义一个列表a
a.append() #将元素添加到列表末尾位置
a.insert (对应位置,元素) #将元素添加到列表对应位置
a.extend(列表) # 合并列表,和+号类似
+号合并的列表返回值会变化,列表本身不 会变化 ,例:num.extend(b),
num列表会变化,b列表不变化
a.pop() #删除索引位对应的元素,默认删除尾部元素
num.pop(2)删除2号索引位元素
a.remove(元素) #删除对应的元素
a.index(元素) #查找第一个元素对应的索引位
a.clear #清空列表
a.count #统计元素的个数
a.copy #拷贝列表
a[1] #索引1对应的元素
copy:列表是对象,存在于堆里,例如:代码:nums = [1,2,3] 本质是创建一个在栈中nums的引用,创建的nums引用存在一个内存地址,指向堆地址,此堆地址中存在该命令创建的元素,命令:b = nums 是将nums的地址赋值给变量b,因此b 也指向同一个堆地址,因此
b中元素改变,nums中的元素也会改变,copy的拷贝是直接拷贝nums的堆地址,此时当变量改变时并不会改变nums的原有值
reserve #翻转元素顺序
sort #元素排序
set:
定义:1. s = {1,2,3} 注:使用{}这种定义方式,不要定义为空,若定义为空,
type(s),显示类型为“dict”
2.用AP接口定义:s = s({1,2,3})
3.可以去重:
#>>ls = [1,2,3,4,5,5,5]
#>>set(ls)
#>>{1,2,3,4,5}
4.集合是无序的,因此set函数没有下标
set常见方法:
#add 添加新元素
#clear 清空列表
#copy 浅拷贝
#discard 移除
#remove 与discard不同点是remove会报错
#pop 随机移除元素
#intersection 交集
#union 交集
#difference 差集
tuple
元组:不可变数据类型:1.t = (1,2,3)
2. season = tuple("春","夏")
#>>season(0)
# >> ”春“
3.index(元素) 返回对应元素的第一个位置
count 统计元素的个数
4.t = (1)
>> type(t)
>>int
t = (2,)
>>type(t)
>> tuple
总结
Python中,可包含其他对象的对象,称之为“容器”。容器是一种数据结构。
常用的容器主要划分为两种:序列(如:列表、元祖等)和映射(如:字典)。序列中,每个元素都有下标,它们是有序的。映射中,每个元素都有名称(又称“ 键 ”),它们是无序的。
除了序列和映射之外,还有一种需要注意的容器——“ 集合 ”。