前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python高级数据类型

python高级数据类型

作者头像
twelvecoder
发布2021-12-24 09:41:11
4300
发布2021-12-24 09:41:11
举报
文章被收录于专栏:十二的树洞

字符串:

序列:在python当中 序列就是一组按照顺序排列的值【数据集合】 在python中 存在三种内置的序列类型:

  • 字符串
  • 列表
  • 元组

优点:可以支持索引和切片的操作 特征:第一个正索引为0,指向的是左端,第一个索引为负数的时候,指向的是右端 切片:【高级特性】可以根据下表来获取序列对象的任意[部分]数据 语法结构:[start : end : step] step默认1 字符串及常用方法:

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
test = 'python'
# print(type(test))
# print(test[0])
# for item in test:
#     print(item,end=' ')

name = 'terry'
# print(name.capitalize()) #首字母变大写
a = '     hello       '
# print(a.strip()) #去除空格
# print(a.lstrip()) #删除左边的空格
# print(a.rstrip()) #删除右边的空格
# b=a 复制字符串
# print(id(a)) #id函数 可以查看一个对象的内存地址
# print(id(b))
dataStr = 'I love Python'
# print(dataStr.find('P')) #可以查找目标对象在序列对象中的值,如果没有找到就返回-1
# print(dataStr.index('v')) #检测字符串中是否包含子字符串,返回的是下标值
# index如果没有找到对应的数据,便会报异常,而find函数不会,找不到返回-1
# print(dataStr.startswith('I')) #判断是否以I为开头
# print(dataStr.endswith('o'))

# 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[:3])
print(strMsg[::-1])

列表:

list:python当中非常重要的数据结构,是一种有序的数据集合 特点:

  • 支持增删改查
  • 列表中的数据是可以变化的【数据项可以变化,内存地址不会改变】
  • 用[]来表示列表类型,数据项之间用逗号来分割,注意:数据项可以是任何类型的数据
  • 支持索引和切片来进行操作 列表及常用方法:
在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
li = [1,2,3,"你好"]
print(type(li))
print(len(li)) #len函数可以获取到列表对象中的数据个数
strA = '我喜欢python'
print(len(strA))
# 查找
listA = ['abcd',785,12.23,'qiuzhi',True]
print(listA)
print(listA[0]) #输出第一个元素
print(listA[1:3])
print(listA[2:])
print(listA[::-1]) #负数从右向左输出
print(listA*2) #输出多次列表中的数据【复制】
print('-------------增加-------------------')
# listA.append(['ffff','ddd']) #追加操作
# listA.append(8888)
# print(listA)
# listA.insert(1,'test') #插入操作 需要执行一个位置插入
# print(listA)
# rsData = list(range(10)) #强制转换为list对象
# print(type(rsData))
# listA.extend(rsData) #扩展 等于批量添加
# listA.extend([11,22,33,234])
print(listA)
print('-------------修改------------------')
listA[0] = 'peter'
print(listA)
listB = list(range(10,50))
print('-------------删除list数据项-----------')
# del listB[0] #删除列表中第一个元素
# del listB[1:3] #批量删除多项数据 slice
listB.remove(20) #移除指定的元素
listB.pop(1) #移除指定的项
print(listB)

print(listB.index(19,2,25)) #返回的是一个索引下标,在第3个元素到第25个元素中查找

元组

元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,元素也是通过下标进行访问。 是一种不可变的序列,在创建之后就不能进行任何的修改 特点:

  • 不可变
  • 用( )创建元组类型,数据项用逗号分隔
  • 可以是任何的类型
  • 当元组中只有一个元素时,要加上逗号,不然解释器会当作整型来处理
  • 同样可以支持切片操作
代码语言:javascript
复制
#元组的创建,不能进行修改
tupleA = () #空元组
tupleA = ('abcd',89,9.12,'peter',[11,22,33])
print(type(tupleA))
print(tupleA)
# 元组的查询
# for item in tupleA:
#     print(item,end=' ')
print(tupleA[2:4])
print(tupleA[::-1])
print(tupleA[::-2]) #表示反转字符串 每隔两个取一次
print(tupleA[-2:-1:]) #倒着取下标 为-2到-1区间的
# tupleA[0] = 'pythonHello' #错误的
# print(tupleA)
tupleA[4][0] = 2222 #可以对元组中的列表类型的数据进行修改
print(tupleA)
tupleB = ('1',) #当元组中只有一个数据项的时候,必须要在第一个数据项后面加上逗号
print(type(tupleB))
# tupleC = tuple(range(10))
tupleC = (1,2,3,4,3,4,4,1)
print(tupleC)
print(tupleC.count(4))

字典

也是python中重要的数据类型,字典是由键值对组成的集合,通常使用键来访问数据,效率非常高,和列表一样支持对数据的添加、修改、删除 特点:

  • 不是序列类型,没有下标的概念,是一个无序的键值对集合,是内置的高级数据类型
  • 用{}来表示字典对象,每个键值对用逗号分隔
  • 键必须是不可变的数据类型【元组、字符串】 值可以是任意类型
  • 每个键必定是唯一的,如果存在重复的键,后者会覆盖前者 字典常用方法:
在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
#创建字典
dictA = {'pro':'艺术','school':'北京电影学院'} #空字典
#添加字典数据
dictA['name'] = '张三' #key:value
dictA['age'] = 30
dictA['pos'] = '歌手'
print(type(dictA))
print(dictA)#输出完整的字典
print(len(dictA)) #数据项长度

print(dictA['name'])
dictA['name'] = '王俊凯'#修改键对应的值
dictA['school'] = '香港大学'
dictA.update({'age':32})
dictA.update({'height':1.80})
print(dictA)

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

#删除操作
#通过指定键进行删除
# 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]))#报错,需要同一类型才能排序

公用方法

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
#共有方法: +  *  in
#字符串合并
strA = '人生苦短'
strB = '我用python'
print(strA+strB)
#列表合并
listA = list(range(10))
listB = list(range(11,20))
print(listA+listB)
#复制 *
print(strA*3)
print(listA*3)
# in 对象是否存在 结果是一个bool值
print('生' in strA)
print(22 in listA)
dictA = {'name':'peter'}
print('name' in dictA)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/04/21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 字符串:
  • 列表:
  • 元组
  • 字典
  • 公用方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档