day3--高级数据类型

序列:一组按照顺序排列的值【数据集合】  包括字符串、列表、元祖
优点:可以支持索引和切片的操作
特征:第一个正索引是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是否在字典中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值