python的常用数据结构类型
字符型
字典
列表
元组、集合
一、序列
序列:
是python中的一类数据类型,比如字符串、列表
序列类型的对象是可以进行循环变例的
1.1 序列特性
索引:指的是在序列中找到指定元素的索引编号
切片:指的是从序列中提取一部分内容
加法:序列对象可以将多个序列合并成一个
乘法:可以将序列通过乘法输出多个相同的
1.2 序列操作
索引操作
格式:序列名[索引值]
# 案例1:
str1 = "hello" # 定义一个序列
print(str1[0]) # 通过索引值 0 取出这个序列中的第一个元素
# 案例2:
str = input("请输入内容: ")[2]
print(str)
切片操作
格式:序列名[索引值1:索引值2]
str = "abcde boys, i am zxhk"
res1 = str[3:]
res2 = str[3:9]
print(res1) # 输出结果是 de boys, i am zxhk
print(res2) # 输出结果是 de boy
加法操作
str1 = "hello "
str2 = "boys"
str = str1 + str2
print(str)
#输出结果是hello boys
乘法操作
str1 = "hello "*3
print(str1)
#输出结果是hello hello hello
成员关系
判断元素是否在序列中
in\not in
返回的是布尔值:真or假
userinput = "abc"
if "c" in userinput:
print("yes")
else:print("no")
#判断userinput中是否有c
userinput = "abc"
if "c" not in userinput:
print("yes")
else:print("no")
#判断userinput中是否没有c
二、列表
列表也是序列的一种
列表支持序列的所有基础操作:索引、切片、加法、乘法、成员关系
2.1列表基础
定义列表
列表的元素可以是多种类型:数字、字符串、列表
列表是可变类型,可以直接修改列表中元素的值
格式
list = [元素1,元素2,元素3,"字符串元素",[列表元素,]...]
2.2列表操作
索引
list = ["a","b","c","d"]
str = list[2]
print(str)
#输出结果为c
切片
list = ["a","b","c","d"]
str = list[1:3]
print(str)
#输出结果为b,c
赋值
list = ["a","b","c","d"]
list[1] = "a"
print(list)
#输出结果为['a', 'a', 'c', 'd']
删除元素
删除单个元素
list = ["a","b","c","d"]
del list[1]
#删除列表list中索引值为1的元素
删除多个元素
list = ["a","b","c","d"]
list[0:3]=""
print(list)
#删除列表list索引值0到3的元素
替换操作
替换一个元素,方法同前边讲到的赋值操作
替换多个元素
list = ["a","b","c","d"]
list[0::]="1234"
print(list)
#替换list中的所有元素 输出结果是['1', '2', '3', '4']
2.3 列表的方法
格式:列表名.方法()
方法1:在列表中添加元素
+
extend:在列表末尾添加内容
append:在列表末尾添加内容
insert:在列表指定位置添加内容
方法2:获取列表元素个数
len(列表名)
list = ["a","b","c","d"]
print(len(list))
#输出结果为列表元素个数 4
方法3:计算元素出现次数
列表名.count(元素)
list = ["a","b","c","d","a"]
print(list.count("a"))
#输出结果为a出现的次数 2
方法4:找目标元素的索引值
列表名.index(元素)
如果没有目标元素,那么会抛出异常
list = ["a","b","c","d","a"]
print(list.index("b"))
#输出结果是list列表中b的索引值 1
方法5:删除列表元素
del 列表名[索引值]
del list[0]:删除列表索引值为0的元素
del list[:]:删除列表中所有元素,变成一个空列表
del list:删除列表对象
list = ["a","b","c","d","a"]
del list[0]
print(list)
#输出内容['b', 'c', 'd', 'a']
列表名.remove(元素)
list = ["a","b","c","d","a"]
list.remove("a")
print(list)
#输出结果是['b', 'c', 'd', 'a']
方法6:列表元素顺序反转
列表名.reverse()
list = ["a","b","c","d","e"]
list.reverse()
print(list)
#输出结果为['e', 'd', 'c', 'b', 'a']
字符串翻转
reversed(字符串)
转换后的结果是一个python对象,必须借助list方法转换成列表才可以进行显示
str = "abcd"
list1=list(reversed(str))
print(list1)
方法7.列表元素排序
列表名.sort()
sort中的参数:reverse=True实现逆序排序
list = ['d', 'c', 'b', 'a']
list.sort()
print(list)
#输出结果['a', 'b', 'c', 'd']
方法8.列表推导式
[表达式 for var in range()]
用列表推导式的方法输出1-10之间的偶数
list = [var+1 for var in range(10)if var%2==1]
print(list)
# var 每次循环加一range取值为10每次判断var不是奇数则加入列表list中