列表
# 特性:可以修改,支持不同的数据类型
# 定义语法
变量名称 = [元素1,元素2,……]
## 空列表
变量名称 = []
变量名称 = list()
# 列表下表索引
ls[0] #表示第一个
ls[-1]#表示最后一个
## 注意超过范围,会报错
列表的操作
# 1.查找元素的下标
列表.index(元素)
# 2.通过下标修改该下标的值
列表[下标]=值
# 3.在指定的位置,插入指定的元素(后面元素往后排)
列表.insert(下标, 元素)
# 4.追加元素(单个)
列表.append()
# 5.追加元素(一批元素,也就是一个列表)
列表.extend(追加列表)
# 6.删除指定下标的元素
语法1 :del列表[下标]
语法2 :列表.pop(下标)
# 7.删除某元素的第一个匹配项
列表.remove(元素)
# 8.清空列表 clear()方法
列表循环遍历
index= 0;
list = [1,2,3,4,5,6,7,8,9,10]
while index<len(list):
print(list[index])
index= index+1
for e in list:
print(e)
元组
## 是只读,不可修改,支持不同数据类型 ,但是嵌套list ,list里面的元素是可以修改的
# 定义元组
变量名=(元素1,元素2,元素3……)
# 定义空元组
变量名=()
# 元组的嵌套
变量名=((),())
字符串
# 1.字符串的替换
replace(被替换字符串,新字符串) #注意返回值才是被替换的,源元素String不变
# 2.字符串分割
split(分割字符号) #字符串本身不变,而是得到一个新的列表对象
# 3.字符串(去除前后空格) strip() 本身不变
# 统计字符串内中某个字符串的个数 。count()
序列
# 序列是指:内容连续,有序,有下标索引的一类数据容器
列表、元组、字符串、均可以视为序列
# 切片 表示从序列中,从指定位置开始,依次取出元素,到指定位置结束(不包含结束的位置,得到一个新序列) 步长的默认值是1
# 步长使用负数时,起始下表与结束下标也要负数形式表示(-1倒着读取)
序列[起始下标:结束下标:步长]
集合
#集合不支持元素的重复(自动去重),且无序
# 变量名={元素1,元素2……} 不支持 变量名={}会认为是定义空字典
# 定义空集合
变量名 = set()
# 1.移除元素 对源集合进行修改
remove()
# 2.随机取出元素
pop()
# 3.清空元素
clear()
# 4.取的差集
difference()
# 5.消除出两个之间集合的差集(保留前面的集合,去除共同的部分) 与4的区别是5.是对主集合进行修改,而4.是方法返回结果是一个集合
difference_update()
# 6.集合合并
union()
集合遍历
# 不支持下标索引,所以不能用while
my_list=['黑马程序员','传智博客','黑马程序员','传智博客','itheima','itcast','itheima','itcast','best']
my_set=set()
# my_set=set(my_list)
for e in my_list:
my_set.add(e)
print(my_set)
字典
# 定义字典 以键值对的方式存储
# key不能重复,value可以重复, 新的key会覆盖旧的key
# 字典的Key和Value可以是任意数据类型(Key不可为字典)
变量名={
key1:value1,
key2:value2,
key3:value3,
……
}
# 定义空字典
my_dict={}
my_dict=dict()
# 通过key获取对应的value
value=my_dict[key1]
# 常用操作
# 1.新增字典与更新元素
my_dict["name"]="mxh"
# 如果有name这个key,就是更新,如果没有就是添加
# 2.清空dict
my_dict.clear()
# 3.获取全部的key
keys=my_dict.keys()
# 4.遍历字典
for e in my_dict:
print(f"key:{e},value:{my_dict[e]}")
# 5.统计字典内的元素个数 len()
数据容器特点对比
列表 | 元组 | 字符串 | 集合 | 字典 | |
---|---|---|---|---|---|
元素数量 | 支持多个 | 支持多个 | 支持多个 | 支持多个 | 支持多个 |
元素类型 | 任意 | 任意 | 仅字符 | 任意 | 仅键值对 |
下标索引 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
重复元素 | 支持 | 支持 | 支持 | 不支持 | 不支持key重复 |
可修改性 | 支持 | 不支持 | 支持 | 支持 | 支持 |
数据有序 | 是 | 是 | 是 | 否 | 否 |
使用场景 | 可修改,可重复, 一批数据的记录 | 不可修改,可重复, 如(家谱名单) | 中文名词, | 统计一个班的身份证号 | 以key找value的值 |
通用操作
# 1.统计 len()
# 2.最大 max()
# 3. 最小 min()
# 支持其他转其他类型
list()
tuple()
str()
set()
# 翻转序列
sorted()