序列:一组按照顺序排列的值【数据集合】 包括字符串、列表、元祖 优点:可以支持索引和切片的操作 特征:第一个正索引是0,从左向右,第一个索引为负数时,从右向左 切片:【高级特性】可以根据下标来获取序列对象的任意【部分】数据 语法结构:【start:end:step】step默认是1
字符串
test="python" #print(type(test)) print("获取第一个字符\n%s" %test[0])
name="peter" print("首字母变成大写%s"%name.capitalize())
a=" hello " b=a.strip()#去除a的空格 print(a.strip())
#查找 data="i love youy" print(data.find("y"))#find函数可以查找目标对象在序列对象中的位置,如果没有找到就返回-1 print(data.index("v"))#index函数查找返回下标值,如果没有找到就报错
#函数应用
data="i love youy" print(data.startswith("i"))#判断开头,返回true false print(data.lower())#转换小写 print(data.upper())#转换小写
切片:
data="i love youy" value【start:end:step】左闭右开 start<=value<end print(data) print(data[2:5])#第三个字符到第五个 print(data[2:])#第三个字符到最后 print(data[:3])#第一个字符到第三个字符,0可省略 print(data[::-1])#倒叙输出,从右往左遍历
列表list
特点: 1、支持增删改查 2、列表中的数据是可以变化的【数据项可以变化,内存地址不会改变】 3、用[]表示列表类型,数据项之间用逗号分割,注意:数据项可以使任何类型的数据 4、支持索引和切片,数据处理读取删除和查找
liA=["abce",234,24,52.1,True] print(liA) print(liA[0])#输出第一个元素 print(liA[1:3])#从第二个字符到三个字符 print(liA[::-1])#从右向左遍历
常见函数:添加append、insert、extend
print("追加之前",liA) liA.append(['fff',123])#追加 liA.append(8888) print("追加之后",liA) liA.insert(1,"这是我插入的数据")#插入,需要指定位置在第二个字符位置插入“这是我插入的数据” data=list(range(10)) liA.extend(data)#批量添加 print(liA)
修改
print("修改之前",liA) liA[0]="peter" print("修改之后",liA)
#删除 print("删除之前",liA) del liA[0] print("删除之后",liA)
del liA[1:]#批量删除
移除:remove、pop
liA.remove(234)#移除指定项 print("删移除之后",liA)
liA.pop(1)#移除指定的项下标
print("删移除之后",liA)
查找 index函数
liA=["abce",234,24,52.1,True] print(liA.index(1,2,4))#s返回值是索引下标,删除值为1,而且下标在2start和4end中。
元组
元组:是一种不可变的序列,创建之后不能修改 1、不可变 2、用()创建,数据项用逗号分割 3、当元组中只有一个元素时,要加上逗号,不然解释器会当做整形来处理 5、同样可以支持切片操作
#元组创建 hoho=("ab",89,9.13,"peter",[1,2,3])
#元组查找 for i in hoho: print(i,end=" ") print() print(hoho[0]) print(hoho[1:3]) print(hoho[::-1]) print(hoho[::-2])#表示反转字符串,每隔两个取一次 print(hoho[::-3])#每隔三个取一次 print(hoho[-2:-1:])#倒着取下标-2到-1区间的 print(hoho[-3:-1:])#倒着取下标-3到-1区间的
# hoho[0]=12 # print(hoho)#错误的 hoho[4][1]="ab"#可以对元组中列表类型数据进行修改,列表第二个字符变为ab print(hoho)
B=(123,)#当元组只有一个数,必须加逗号 print(type(B)) C=(1,1,4,1,1) print(C.count(1))#统计出现1的次数,输出结果为4
字典
字典:有 键值对 组成的集合,通常使用 键 来访问数据,效率非常高,和list一样 支持数据的添加、修改、删除 特点: 1、不是序列类型,没有下标概念,是一个无序的 键值集合,是内置的高级数据类型 2、用{}来表示字典对象,每个键值对用逗号分割 3、键 必须是不可变的类型【元组、字符串】 值可以是任意的类型 4、每个键必定是唯一的,如果存在重复的键,后者会覆盖前者
#创建字典,两种方法 dictA={"name":"李易峰","age":30,"pos":"演员"} dictA={} dictA["name"]="李易峰" #key:value dictA["age"]=30 dictA["POS"]="演员" print(dictA)
{'name': '李易峰', 'age': 30, 'pos': '演员'}
print(len(dictA))#数据项长度 print(dictA["name"])#通过键获取对应的值 dictA["name"]="谢霆锋"#修改键的对应的值 #获取所有的键 print(dictA.keys()) #获取所有的值 print(dictA.values()) #获取所有的键和值 print (dictA.items())
for item in dictA.items(): print(item) for key,value in dictA.items(): print("%s==%s"%(key,value))
修改
dictA["name"]="谢霆锋"#修改键的对应的值 dictA.update({"name":"谢霆锋"})#修改键的对应的值 dictA.update({"weight":132})#可以添加键值对 print(dictA)
删除
del dictA["name"]#通过指定键删除 pop dictA("name")#通过指定键删除
排序
#通过键值排序 dictA={"name":"李易峰","age":30,"pos":"演员"} sorted(dictA.items(),key=lambda d :d[0]) #通过value排序 sorted(dictA.items(),key=lambda d:d[1]) 运算
合并+、复制 *、对象是否存在in,适用于字符串,列表,元组,字典
liA=list(range(10)) liB=[11,12] print(liA+liB) print(liB*2) print(11 in liA)#结果是bool类型
dictA={"name":"李雷”}
print(“name”in dictA)#判断键key是否在字典中