建站服务是什么,什么播放器能看无线新闻台直播,深圳企业网站建设与设计制作,2022年10月国内最新新闻文章目录 python数据容器认识数据容器列表列表定义list下标索引列表的常用操作方法列表的查询功能列表的修改功能插入元素追加元素删除元素删除某元素在列表中的第一个匹配项清空列表统计某元素在列表中的数量统计列表中元素个数总结 列表遍历 元组为什么需要元组定义元组下标索… 文章目录 python数据容器认识数据容器列表列表定义list下标索引列表的常用操作方法列表的查询功能列表的修改功能插入元素追加元素删除元素删除某元素在列表中的第一个匹配项清空列表统计某元素在列表中的数量统计列表中元素个数总结 列表遍历 元组为什么需要元组定义元组下标索引取出内容元组相关操作元组的遍历 字符串特点字符串的下标字符串的常用操作查找子串字符串替换字符串分割字符串规整统计字符串出现次数统计字符串长度总结 数据容器(序列)的切片序列切片 集合特点基本语法集合常用功能 字典特点字典定义获取字典数据字典的嵌套字典的常用操作 数据容器总结分类特点对比通用操作容器的通用转换类型通用排序功能字符串比较 python数据容器
认识数据容器 数据容器一种可以存储多个元素的python数据类型 python数据容器 list列表 tuple元组 str字符串 set集合 dict字典
列表
列表定义 列表内的每一个数据称为元素 列表内每一个元素之间用逗号隔开 注意列表中一次可以存储多个数据且可以为不同数据类型支持嵌套 语法
# 字面量
[元素1, 元素2, 元素3, ...]# 定义变量
变量名称 [元素1, 元素2, 元素3, ...]# 定义空列表
变量名称 []
变量名称 list()代码示例
# 定义列表
l1 [元素1, 元素2, 元素3]
print(l1)
print(type(l1))# 定义嵌套
l2 [[1, 2, 3], [4, 5]]print(l2)
print(type(l2))l3 [1, 2, True, 2.34, [1234]]print(l3)
print(type(l3))list下标索引 从前向后从0开始每次加1从后往前从-1开始每次减1 注意通过下标取数据一定不能超出范围 代码示例
print(l2[0])
print(l2[0][1])
print(l2[-1][1])列表的常用操作
方法
方法在python中如果将函数定义为class类的成员那么函数会称为方法
def add(x, y):return xyclass Student:def add(x, y):return xy方法和函数功能一样有传入参数有返回值只是方法的使用格式不同 函数的使用add(1,2) 方法的使用 stuStudent()
stu.add(1,2)列表的查询功能 查找某个元素的下标 功能查找指定元素在列表的下摆哦如果找不到报错ErrorValue 语法列表.index(元素) 代码示例
mylist [1, 2, 3]
# 查找元素在列表内的下标索引
print(f2在列表中的下标索引是{mylist.index(2)})
# ValueError: 4 is not in list
# print(f2在列表中的下标索引是{mylist.index(4)})列表的修改功能 修改特定位置的元素值 语法列表[下标]值 代码示例
# 修改列表中的值
print(f当前列表元素{mylist})
print(f修改0位置的元素为9)
mylist[0] 9
print(f当前列表元素{mylist})
print(f修改-2位置的元素为7)
mylist[-2] 7
print(f当前列表元素{mylist})插入元素 语法列表.insert(下标,元素) 代码示例
print(f当前列表元素{mylist})
mylist.insert(1, 12)
print(f当前列表元素{mylist})追加元素 语法列表.append(元素…) 将指定元素追加到列表尾部 代码示例
mylist.append(mylist, hello)
mylist.append(mylist, h, 4, 18)删除元素
语法
# 语法1
del 列表[下标]
# 语法2
列表.pop(下标)代码示例
del mylist[1]
mylist.pop(1)删除某元素在列表中的第一个匹配项 语法列表.remove(元素) 代码示例
mylist.remove(h)清空列表
语法列表.clear()
统计某元素在列表中的数量
语法列表.count(元素)
统计列表中元素个数
语法列表.len()
总结 列表遍历
代码示例
# while遍历
def list_while_func(l):index 0while index len(l):print(l[index], end )index 1# for遍历
def list_for_func(l):for i in l:print(l[i], end )mylist [1, 2, 3, a, True, dsadas]list_while_func(mylist)
list_for_func(mylist)元组
为什么需要元组 列表是可以修改的如果想要传递的信息不被修改列表就不合适了 元组和列表最大的区别元组一旦完成定义就不可修改
定义元组 元组定义定义元组使用小括号且使用逗号隔开各个数据数据可以是不同数据类型 语法
# 字面量
(元素1, 元素2, 元素3, ...)# 定义变量
变量名称 (元素1, 元素2, 元素3, ...)# 定义空元组
变量名称 ()
变量名称 tuple()注意元组只有一个数据时这个数据后面要添加逗号否则不是元组类型 代码示例
# 基本定义
t1 (1, 2, 3, a, True)
# 单数据定义元组只有一个数据时这个数据后面要添加逗号
t2 (1,)
# 嵌套定义
t3 ((1, 2, 3), (4, 5))
print(t3)下标索引取出内容 同列表操作 代码示例
# 下标取元组内容
print(t3[1])
print(t3[1][1])元组相关操作 index查找某个数据如果数据存在返回对应的下标否则报错 count统计某个数据在当前元组出现的次数 len(元组)统计元组内的元素个数
print(t1.index(3))
print(t1.count(3))
print(len(t1))元组的遍历
代码示例
for i in t3:print(i, end )
print()index 0
while (index len(t1)):print(t1[index], end )index 1
print()字符串
特点 字符串是字符的容器一个字符串可以存放任意数量的字符 字符串是一个无法修改的容器 只可以存储字符串 支持下标索引 允许重复字符串存在 for和while循环都支持
字符串的下标 从前向后下标从0开始 从后向前下标从-1开始 代码示例
name zhangsan
print(name[1])
print(name[-4])字符串的常用操作
查找子串 语法字符串.index(字符串) 代码示例
my_str we are happy
print(my_str.index(are))
# ValueError: substring not found
# print(my_str.index(are1))字符串替换 语法字符串.replace(字符串1,字符串2) 功能将字符串内全部字符串1替换为字符串2 注意替换 代码示例
# replace字符串替换
new_str my_str.replac字符串分割 语法字符串.split(分割字符串) 功能按照指定的分隔符字符串将字符串划分为多个字符串并存入列表对象中 注意字符串本身不变而是得到一个列表对象 代码示例
# 字符串分割
split_str my_str.split( )
print(f分割后原字符串{my_str})
print(f分割后新字符串{split_str})字符串规整
语法
字符串.strip()
字符串.strip(字符串)代码示例
# 去掉字符串首尾空格
blank_str we ert dsf rew
print(f原始字符串:{blank_str})
new_blank_str blank_str.strip()
print(f规整后字符串:{new_blank_str})blank_str1 we ert dsf rew
print(f原始字符串:{blank_str1})
new_blank_str1 blank_str1.strip()
print(f规整后字符串:{new_blank_str1})统计字符串出现次数 语法字符串.count(指定字符串) 代码示例
# 统计字符串中某字符串出现次数
print(f字符串出现次数:{blank_str1.count()})统计字符串长度 语法len(字符串) 代码示例
# 统计字符串长度
print(f字符串长度{len(my_str)})总结 数据容器(序列)的切片
序列 内容连续、有序可使用下标索引的一类数据容器 列表、元组、字符串均可视为序列
切片 定义从一个序列中取出另一个切片 语法序列[起始下标:结束下标:步长] 起始下标表示从何处开始可以为空表示从头开始 结束下标表示从何处结束可以为空表示到尾结束 步长表示依次取元素的间隔可正可负 代码示例
# 对序列进行切片操作
# 正向操作
# 取列表中2到5位置步长为1
l [1, 2, 3, 4, 5, 6, 7]
s1 l[2:5:1]
print(s1)# 取元组中所有元素
t (1, 2, 3, 4, 5, 6, 7)
s1 t[:]
print(s1)# 字符串反转
str dhjskkkk
s1 str[::-1]
print(s1)# 反向操作从3开始到1结束步长为-1
s1 l[3:1:-1]
print(s1)# 从头开始到尾结束步长为-2
s1 t[::-2]
print(s1)集合
特点 可以容纳多个元素且类型可以不同 数据是无序存储不支持下标操作 不允许重复数据存在 可以修改 支持for循环
基本语法
# 定义字面量集合
{元素1,元素2,元素3,元素4,...}
# 定义集合变量
变量名称{元素1,元素2,元素3,元素4,...}
# 定义空集合
变量名称set()集合常用功能 代码示例
# *_*coding:utf-8 *_*
# 定义集合
my_set {1, 2, 1, 1, True, 4.321, dsadas}
# 元素不能重复,会自动去重
# 内容是乱序的
print(f包含重复元素的set结果{my_set})
print(type(my_set))my_set1 set()
my_set2 {}
print(f空集合内容{my_set1})
print(f空集合内容{my_set2})# 常用操作
# 添加新元素
my_set1.add(1)
my_set1.add(2)
my_set1.add(5)
my_set1.add(6)
my_set1.add(7)
my_set1.add(1)
my_set1.add(3)
print(fadd添加元素后结果是{my_set1})# 移除元素
# remove移除置顶元素
my_set1.remove(2)
print(fremove移除元素后结果是{my_set1})# pop随机移除
my_set1.pop()
print(fpop移除元素后结果是{my_set1})# clear清空集合
my_set1.clear()
print(fclear清空集合元素后结果是{my_set1})set1 {1, 2, 3, 5, 6}
set2 {4, 5, 6, 7, 8, 9}# 差集
diff_set set1.difference(set2)
print(fdifference求两个集合的差集{diff_set})
union_set set1.union(set2)
print(fdifference求两个集合的并集{union_set})
inter_set set1.intersection(set2)
print(fdifference求两个集合的交集{inter_set})# 集合遍历
for i in set2:print(i, end )
print()字典
特点 可以容纳多个数据 可以容纳不同类型数据 每一个元素是key:val格式 可以通过key获取value值key不能重复否则会被覆盖 不支持下标索引 支持for循环不支持while循环 可以修改
字典定义 字典的定义同样使用{}不过存储的元素是一个个的键值对 语法
# 字典定义
dict1 {name: zsx, age: 18, score: 80.5}
dict2 {}
dict3 dict()
print(f内容{dict1}, 类型{type(dict1)})
print(f内容{dict2}, 类型{type(dict2)})
print(f内容{dict3}, 类型{type(dict3)})
# key值不允许重复重复的key值会被覆盖
dict2 {age: 14, age: 13}
print(f内容{dict2}, 类型{type(dict2)})获取字典数据 字典同集合一样不可以使用下标索引 字典需要通过key值来获取相应的value值
print(f获取key值为age的value值:{dict2[age]})
# KeyError: age1,key值不存在时会报错
# print(f获取key值为age的value值:{dict2[age1]})字典的嵌套
字典的key和value可以是任意数据类型key不可为字典
# 字典的嵌套
nested_dict {zs: {age: 18, sex: male}, xh: {age: 20, sex: female}}
print(f内容{nested_dict}, 类型{type(nested_dict)})
print(f获取嵌套的内层元素value值{nested_dict[zs][age]})字典的常用操作 代码示例
# *_*coding:utf-8 *_*# 新增/更新元素
# 语法字典[key]valuekey不存在为新增元素,key存在为更新元素
# 新增
my_dict dict()
print(f原始字典内容{my_dict})
my_dict[key] val
my_dict[key1] val1
my_dict[key2] val2
print(f新增元素后字典内容{my_dict})# 更新元素
my_dict[key] new_val
print(f更新key元素后字典内容{my_dict})# 删除元素
my_dict.pop(key2)
print(f删除key2元素后字典内容{my_dict})# 获取全部key
all_keys my_dict.keys()
print(f获取全部key内容{all_keys})
all_vals my_dict.values()
print(f获取全部val内容{all_vals})# 遍历字典
# 方式一通过遍历所有key来取值
for key in all_keys:print(fkey{key}, val{my_dict[key]})# 方式二直接使用for循环取值
for key in my_dict:print(fkey---{key}, val----{my_dict[key]})# 统计字典内元素数量
print(f字典内的元素数量为:{len(my_dict)})# 清空元素
my_dict.clear()
print(f清空元素后字典内容{my_dict})数据容器总结
分类 是否支持下标索引 支持列表、元组、字符串–序列类型 不支持集合、字典–非序列类型 是否支持重复元素 支持列表、元组、字符串 不支持集合、字典 是否可以修改 支持列表、集合、字典 不支持元组、字符串
特点对比 通用操作 都支持for循环遍历列表、元组、字符串支持while集合、字典不支持 len统计元素个数 max统计容器最大元素 min统计容器最小元素
容器的通用转换类型 list(容器)将给定容器转化为列表 str(容器)将给定容器转化为字符串 tuple(容器)将给定容器转化为元组 set(容器)将给定容器转化为集合 代码示例
# *_*coding:utf-8 *_*src_list [1, 2, 3, 4, 5]
src_tuple (1, 2, 3, 4, 5)
src_set {1, 2, 3, 4, 5}
src_str 12345# 转列表
print(f列表转列表{list(src_list)}, 类型{type(list(src_list))})
print(f元组转列表{list(src_tuple)}, 类型{type(list(src_tuple))})
print(f集合转列表{list(src_set)}, 类型{type(list(src_set))})
print(f字符串转列表{list(src_str)}, 类型{type(list(src_str))})# 转元组
print(f列表转元组{tuple(src_list)}, 类型{type(tuple(src_list))})
print(f元组转元组{tuple(src_tuple)}, 类型{type(tuple(src_tuple))})
print(f集合转元组{tuple(src_set)}, 类型{type(tuple(src_set))})
print(f字符串转元组{tuple(src_str)}, 类型{type(tuple(src_str))})# 转字符串
print(f列表转字符串{str(src_list)}, 类型{type(str(src_list))})
print(f元组转字符串{str(src_tuple)}, 类型{type(str(src_tuple))})
print(f集合转字符串{str(src_set)}, 类型{type(str(src_set))})
print(f字符串转字符串{str(src_str)}, 类型{type(str(src_str))})# 转集合
print(f列表转集合{set(src_list)}, 类型{type(set(src_list))})
print(f元组转集合{set(src_tuple)}, 类型{type(set(src_tuple))})
print(f集合转集合{set(src_set)}, 类型{type(set(src_set))})
print(f字符串转集合{set(src_str)}, 类型{type(set(src_str))})通用排序功能
代码示例
src_list [1, 4, 5, 2, 3]
src_tuple (1, 3, 4, 2, 5)
src_set {1, 4, 2, 3, 5}
src_str 13425print(f正序排序{sorted(src_list)},逆序排序{sorted(src_list, reverseTrue)})
print(f正序排序{sorted(src_tuple)},逆序排序{sorted(src_tuple, reverseTrue)})
print(f正序排序{sorted(src_set)},逆序排序{sorted(src_set, reverseTrue)})
print(f正序排序{sorted(src_str)},逆序排序{sorted(src_str, reverseTrue)})字符串比较 从头到尾一位一位比较其中一位大后续就无须比较了 通过ASCII码确定对应的字符值大小