Python——字符串、列表、元组、字典、公用方法(day03)

本文详细介绍了Python中的四种序列类型:字符串、列表、元组和字典,包括它们的特点、常用方法和操作。重点讲解了字符串的切片、列表的增删改查以及字典的键值对操作。此外,还探讨了序列的通用方法,如合并、复制和成员资格检查。
摘要由CSDN通过智能技术生成

目录

一、字符串及常用方法

二、列表及常用方法

三、元组

四、字典

五、公用方法

序列:在python当中 序列就是一组按照顺序排列的值【数据集合】
在python中 存在三种内置的序列类型:
字符串、列表、元组
优点:可以支持索引和切片的操作
特征:第一个正索引为0,指向的是左端,第一个索引为负数的时候,指向的是右端

切片:【高级特性】可以根据下表来获取序列对象的任意[部分]数据
语法结构:[start:end:step] step默认1

list:python当中非常重要的数据结构,是一种有序的数据集合
特点:
1:支持增删改查
2:列表中的数据是可以变化的【数据项可以变化,内存地址不会改变】
3:用[] 来表示列表类型,数据项之间用逗号来分割,注意:数据项可以是任何类型的数据
4:支持索引和切片来进行操作

元组:是一种不可变的序列,在创建之后不能做任何的修改
1:不可变
2:用()创建元组类型,数据项用逗号来分割
3:可以是任何的类型
4:当元组中只有一个元素时,要加上逗号,不然后解释器会当做其他类型来处理
5:同样可是支持切片操作

字典:也是python中重要的数据类型,字典是有 键值对 组成的集合,通常使用 键来访问数据,效率非常高,和list一样 支持对数据的添加、修改、删除
特点:
1:不是序列类型 没有下标的概念,是一个无序的 键值集合,是内置的高级数据类型
2:用{} 来表示字典对象,每个键值对用逗号分隔
3:键 必须是不可变的类型【元组、字符串】 值可以是任意的类型
4: 每个键必定是惟一的,如果存在重复的键,后者会覆盖前者

一、字符串及常用方法

test = 'python'

# # print(type(test))
# print('第一个字符:%s' %test[0])
# print('第二个字符:%s' %test[1])
# for item in test:
#     print(item, end=' ')
#
# print()
# for i in range(len(test)):
#     print('第%d个字符:%s' %(i, test[i]), end=' ')

name = 'peper'
# print('首字母转换大写:%s' %name.capitalize())
a = "    hello     "

# b = a.strip() #去除空格
# print(b)
# print(a.lstrip()) # 删除坐边的空格
# print(a.rstrip()) # 删除右边的
#
# print('a的内存地址:%d' %id(a)) # id可以查看一个对象的内存地址
# b = a # 在此只是把a对象的内存地址赋给了b
# print('b的内存地址:%d' %id(b))

datastr = 'I Love Python'

# print(datastr.find('P')) # 返回对应的下标值
# print(datastr.find('m')) # 未找到返回-1
#
# # ------------------- index函数 --------------------
# print(datastr.index('P')) # 检测字符串中是否包含子字符串,返回下标,没有则会报错
#
# print(datastr.startswith("I")) # 判断是否以 xx 开头
# print(datastr.startswith("o"))
# print(datastr.startswith("m"))
#
# print(datastr.endswith("I")) # 判断是否以 xx 结尾
# print(datastr.endswith("o"))
# print(datastr.endswith("m"))

# print(datastr.lower()) # 都变成小写
# print(datastr.upper()) # 都变成大写

strmsg = 'hello world'
# slice [start:end:step] 左闭右开 start<=value<end 范围
print(strmsg) # 输出完整的数据
print(strmsg[0])
print(strmsg[2:5]) # 2-5下标之间的数据
print(strmsg[2:])  # 第三个字符到最后
print(strmsg[0:3]) # 1-3    strmsg[0:3] = strmsg[:3]
print(strmsg[:3])
print(strmsg[::-1]) # 倒序输出,负号表示方向,从右向左遍历

二、列表及常用方法

# li=[] #空列表
# li=[1,2,3,"你好"]
# print(len(li)) #len函数可以获取到列表对象中的数据个数
# strA='我喜欢python'
# print(len(strA))
# print(type(li))
# 查找
listA=['abcd',785,12.23,'qiuzhi',True]
# print(listA) #输出完整的列表
# print(listA[0]) #输出第一个元素
# print(listA[1:3]) #从第二个开始到第三个元素
# print(listA[2:]) #从第三个元素开始到最后所有的元素
# print(listA[::-1]) #负数从右像左开始输出
# print(listA*3) #输出多次列表中的数据【复制】
# print('--------------增加-----------------------')
# print('追加之前',listA)
# listA.append(['fff','ddd']) #追加操作
# listA.append(8888)
# print('追加之后',listA)
# listA.insert(1,'这是我刚插入的数据') #插入操作 需要执行一个位置插入
# print(listA)
# rsData=list(range(10)) #强制转换为list对象
# print(type(rsData))
# listA.extend(rsData) #拓展  等于批量添加
# listA.extend([11,22,33,44])
# print(listA)
# print('-----------------修改------------------------')
# print('修改之前',listA)
# listA[0]=333.6
# print('修改之后',listA)
listB=list(range(10,50))

print('------------删除list数据项------------------')
print(listB)
# del listB[0] #删除列表中第一个元素
# del listB[1:3] #批量删除多项数据 slice
# listB.remove(20) #移除指定的元素  参数是具体的数据值
listB.pop(1) #移除制定的项  参数是索引值
print(listB)

print(listB.index(19,20,25))  #返回的是一个索引下标


# li=[] #空列表
# li=[1,2,3,"你好"]
# print(len(li)) #len函数可以获取到列表对象中的数据个数
# strA='我喜欢python'
# print(len(strA))
# print(type(li))
# 查找
listA=['abcd',785,12.23,'qiuzhi',True]
# print(listA) #输出完整的列表
# print(listA[0]) #输出第一个元素
# print(listA[1:3]) #从第二个开始到第三个元素
# print(listA[2:]) #从第三个元素开始到最后所有的元素
# print(listA[::-1]) #负数从右像左开始输出
# print(listA*3) #输出多次列表中的数据【复制】
# print('--------------增加-----------------------')
# print('追加之前',listA)
# listA.append(['fff','ddd']) #追加操作
# listA.append(8888)
# print('追加之后',listA)
# listA.insert(1,'这是我刚插入的数据') #插入操作 需要执行一个位置插入
# print(listA)
# rsData=list(range(10)) #强制转换为list对象
# print(type(rsData))
# listA.extend(rsData) #拓展  等于批量添加
# listA.extend([11,22,33,44])
# print(listA)
# print('-----------------修改------------------------')
# print('修改之前',listA)
# listA[0]=333.6
# print('修改之后',listA)
listB=list(range(10,50))

print('------------删除list数据项------------------')
print(listB)
# del listB[0] #删除列表中第一个元素
# del listB[1:3] #批量删除多项数据 slice
# listB.remove(20) #移除指定的元素  参数是具体的数据值
listB.pop(1) #移除制定的项  参数是索引值
print(listB)

print(listB.index(19,20,25))  #返回的是一个索引下标

三、元组

# 元组的创建 不能进行修改
tupleA=() #空元组
# print(id(tupleA))
tupleA=('abcd',89,9.12,'peter',[11,22,33])
# print(id(tupleA))
# print(type(tupleA))
# print(tupleA)
# 元组的查询
# for item in tupleA:
# #     print(item,end=' ')
# print(tupleA[2:4])
# print(tupleA[::-1])

# print(tupleA[::-2]) #表示反转字符串 每隔两个去一次
# # print(tupleA[::-3]) #表示反转字符串 每隔三个去一次
# # print(tupleA[-2:-1:]) #倒着取下标 为-2 到 -1 区间的
# # print(tupleA[-4:-2:]) #倒着取下标 为-2 到 -1 区间的

# tupleA[0]='PythonHello'  #错误的
# tupleA[4][0]=285202  #可以对元组中的列表类型的数据进行修改
# print(tupleA)
# print(type(tupleA[4]))

tupleB=('1',) # 当元组中只有一个数据项的时候,必须要在第一个数据项后面加上 逗号
# print(type(tupleB))
tupleC=(1,2,3,4,3,4,4,1)   #tuple(range(10))

print(tupleC.count(4)) #可以统计元素出现的次数

四、字典

# 如何创建字典
dictA={"pro":'艺术','shcool':'北京电影学院'} #空字典
# 添加字典数据
dictA['name']='李易峰'  #key:value
dictA['age']='30'
dictA['pos']='歌手'
#结束添加
# print(dictA) #输出完整的字典
# print(len(dictA))  #数据项长度
# print(type(dictA))

# print(dictA['name']) #通过键获取对应的值
# dictA['name']='谢霆锋'  #修改键对应的值
dictA['shcool']='香港大学'
# dictA.update({'height':1.80}) #可以添加或者更新
# print(dictA)

# 获取所有的键
# print(dictA.keys())
# 获取所有的值
# print(dictA.values())
# 获取所有的键和值
# print(dictA.items())
# for key,value in dictA.items():
#     print('%s==%s'%(key,value))

# 删除操作
# del dictA['name']  通过指定键进行删除
# dictA.pop('age')   通过指定键进行删除
print(dictA)
# 如何排序 按照key排序
# print(sorted(dictA.items(),key=lambda d:d[0]))
# 按照value排序
# print(sorted(dictA.items(),key=lambda d:d[1]))
# 字典拷贝
import copy
# dictB=copy.copy(dictA) #浅拷贝
dictC=copy.deepcopy(dictA) #深拷贝
print(id(dictC))
print(id(dictA))
# dictB['name']='peter'
dictC['name']='刘德华'
print(dictC)
print(dictA)

五、公用方法

# 共有方法  +  *  in
# 字符串合并
strA='人生苦短'
strB='我用Python'
# list 合并
listA=list(range(10))
listB=list(range(11,20))
print(listA+listB)
# print(strA+strB)
# 复制 *
# print(strA*3)
# print(listA*3)
# in  对象是否存在 结果是一个bool值
print('我' in strA) #False
print(9 in listA)  #False
dictA={"name":"peter"}
print("name" in dictA)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清园暖歌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值