Python的高级数据类型,包括字符串、列表、元组以及字典及其相应的用法

Day05新手小白学python

第五节  Python的高级数据类型,主要包括字符串、列表、元组以及字典及其相应的用法


目录

Day05新手小白学python

前言

一、字符串及常用方法

1、字符串的常用方法

 2、切片操作

二、列表及常用方法

三、元组

四、字典及常用方法

五、共有操作

总结



前言

本文介绍了Python的高级数据类型,主要包括字符串、列表、元组以及字典及其相应的用法


一、字符串及常用方法

1、字符串的常用方法

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

 test='python'   # 字符串就是一个序列,可以进行遍历操作
 print(type(test))
 print(test[1])
 for item in test:
     print(item,end=" ")
name='peter'
print('姓名首字母转换大写%s'%name.capitalize())
a='  hello  '
print('去除字符串左右两边的空格%s'%a.strip())

#复制字符串
b=a              # 在此只是把a对象的内存地址赋给了b
print(b)
print('打印a的内存地址%d',id(a))   # id()函数 可以查看一个对象的内存地址
print('打印b的内存地址%d',id(b))

dataStr='I love pythonpn'
# print(dataStr.find('q'))    # find() 可以查找目标对象在序列对象中的值,若没找到就返回-1
# print(dataStr.index('q'))     # index() 检测字符串中是否包含子字符串,返回的是下标值,若没找到就异常
print(dataStr.startswith('I'))    #判断开头是否以I结尾
print(dataStr.endswith('o'))    #判断结尾是否以O结尾
print(dataStr.lower())          # 转换成小写
print(dataStr.upper())          # 转换成大写
print('c'.join(dataStr))        #“将字符串dataStr中的每个成员以字符'c'分隔开再拼接成一个字符串”,输出结果为:ic clcocvcec cpcyctchcocn

 2、切片操作

切片是指截取字符串中的一段内容。切片使用语法:[起始下标:结束下标:步长],切片截取的内容不包含结束下标对应的数据,步长指的是隔几个下标获取一个字符,默认步长是1.

StrMsg='hello world'
# slice[start:end:step]
# print(StrMsg[0])
print(StrMsg[2:5])  # 左闭右开 start<=value<end
print(StrMsg[2:])   # 第三个字符到最后
print(StrMsg[:3])   # 1-3 StrMsg[0:3]= StrMsg[:3]
print(StrMsg[::-1])  # 倒序输出 负号表示方向 从右边往左边

二、列表及常用方法

列表list是一种有序的集合,可以随时添加和删除其中的元素。特点:支持增删改查;列表中的数据是可以变化的,但内存地址不变;用[ ]表示数据类型,数据项用逗号分隔,注意:数据项可以是任何类型的数据;支持索引和切片来进行操作

li=[1,2,3,"你哈皮"]
print(len(li))  # len()函数可以获取列表对象或字符串中的数据个数

# 查找
listA=['abcd',785,12.23,'qiuzhi',True]
print(listA)    # 输出完整的列表
print(listA[0])    # 输出第一个元素
print(listA[1:3])    # 输出1-2个元素
print(listA[2:])    # 从第二个元素开始到最后所有的元素
print(listA[::-1])    # 从右向左开始输出
print(listA*3)    # 输出多次列表中的数据

# 增加
listA.append(888)               # 输出结果是:['abcd', 785, 12.23, 'qiuzhi', True, 888]
listA.append(['fff','ddd'])     # 追加时不限定类型,可以进行列表嵌套 输出结果是:['abcd', 785, 12.23, 'qiuzhi', True, ['fff', 'ddd']]
listA.insert(1,'插入的数据')     #插入操作,需要指定位置插入
print(listA)
rsData=list(range(10))           # 强制转化为list对象
listA.extend(rsData)             # 拓展  等于批量添加
listA.extend([1,2,3,4])
print(listA)

# 修改
listA[0]="peter"
print(listA)

# 删除
del listA[1:3]      # 删除多项数据,[]中的是下标,从零开始
del listA[0]        # 删除列表中的第一个元素
listA.remove(785)   # 移除指定的元素,参数是具体的数据值
listA.pop(0)          # 移除指定的项,参数是索引值
print(listA)

print(listA.index(12.23,0,4)) # 返回的是索引下标,index(查找的元素,查找起始下标,终止下标)

三、元组

元组:是一种不可变的序列,在创建之后不能做任何修改。特点:不可变,用( )创建元组类型,数据项用逗号分割;可以是任何的类型;当元组中只有一个类型时,要加上逗号,否则解释器会当作整形来处理;支持切片操作。

# 元组的创建 不能进行修改(运行之后了不能进行修改,除非重新赋值)
tupleA=()
tupleA=('adbc',89,9.12,'peter',[11,22,33]) #从左往右是0,1,2,3,4  但从右往左是-1,-2,-3,-4,-5
# 上述两次赋值的tupleA内存地址是不一样的
tupleA[0]='python'  #错误的,会报错
tupleA[4][0]=7548       # 可以对元组中的列表类型的数据进行修改
print(tupleA)

# 元组的查询
for item in tupleA:
    print(item,end=" ")
print(tupleA[2:4])
print(tupleA[::-2])         # 表示反转字符串,每隔两个去一次,隔两个时要包含本次数据,打印的结果是:([11, 22, 33], 9.12, 'adbc')
print(tupleA[-2:-1:])         # 输出结果是:('peter',),元组中只有一个数据,要加逗号
print(tupleA[-4:-2:])         # 输出结果是:(89, 9.12),tupleA(小的数:大的数:步长)
tupleB=("1")
print(type(tupleB))  # 此时为字符串类型 <class 'str'>
#元组中只有一个数据,要加逗号才是元组类型
tupleB=(1,)
print(type(tupleB))  # 此时为元组类型 <class 'tuple'>

tupleC=tuple(range(10))
print(tupleC)       # 输出结果 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
print(tupleC.count(8))      # 统计元素在元组中出现的次数
print(tupleC.index(8))      # 查找指定元素在元组中的下标索引

四、字典及常用方法

字典可以存储任意对象。字典是以键值对的形式创建的{’key‘:’value‘}利用大括号包裹着。字典中找某个元素时是根据键、值2个元素组成。字典的键不能重复,值可以重复。通常使用键来访问数据,和list一样,支持数据的增删改查操作。特点:不是序列类型,没有下标的概念,不能使用索引,是python中内置的高级数据类型;用{ }来表示字典对象,每个键值对用逗号分隔;字典的键只能是不可变类型,如数字、字符串、元组,值可以是任意类型;每个键必定是唯一的,如果存在重复的键,后者会覆盖前者。

 

# # 如何创建字典
dictA={"pro":'艺术专业','school':'北电'}

# 添加字典数据
dictA['name']='peter'  # name为key键,peter为value值
dictA['age']='30'
dictA['pos']='歌手'
print(len(dictA))       # 数据项长度
print(dictA)           # 输出完整的字典

print(dictA['name'])        #通过键获取对应的值
dictA['name']="lisa"        #修改键对应的值
dictA.update({'height':180})#可以添加或更新
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]))

五、共有操作

1、合并操作+:两个对象相加操作,会合并两个对象。适用于字符串、列表、元组。

#字符串合并
strA='人生苦短'
strB='我用python'
#列表合并
listA=list(range(10))
listB=list(range(11,20))
print(listA+listB)

2、复制:对象自身按指定次数进行+操作,适用于字符串、列表、元组。

# 复制 *
print(strA*3)       # 输出结果:人生苦短人生苦短人生苦短
print(listA*3)

3、in判断元素是否存在:判断指定元素是否存在于对象中,适用于字符串、列表、元组、字典。

# in 判断对象是否存在 结果是一个bool值
print('人'in strA)       # True
print(9 in listA)       # True
dictA={'name':"peter"}
print("name" in dictA)  # 字典判断key键值 输出True

总结

本文仅仅简单介绍了Python的高级数据类型,主要包括字符串、列表、元组以及字典及其相应的用法

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值