python高级数据类型

一、序列
1.序列:在python当中,序列就是一组按照顺序排列的值【数据集合】。
2.在python中存在三种内置的序列类型:字符串、列表、元组。
3.序列优点:支持索引和正向操作。
4.特征:第一个正向索引为0,指向的是左端,第一个索引为负数的时候,指向的是右端。
5.切片:可以根据下标来获取序列对象的任意【部分】数据。

切片语法结构:
[start:end:step]  step 默认值为1

二、字符串
1.字符串及常用方法
在这里插入图片描述
在这里插入图片描述

字符串操作代码
#大小写转换
# name = 'peter'
# print('姓名首字母转换为大写%s'%name.capitalize())

#去除字符串中的空格
# a = '       hello       '
# b = a.strip()
# print(a)
# print(b)

#去除指定的空格
# print(a.lstrip())      #去除左边空格
# print(a.rstrip())      #去除右边空格
#
# #复制字符串
# print('a的内存地址%d'%id(a))   #id()函数:查看对象内存地址
# b=a
# print('b的内存地址%d'%id(b))
# print(b)

#查找指定字符
# dataStr = 'I love Python'
# # print(dataStr.find('k'))       #find()函数可以查找目标对象在序列中的位置,并将位置信息返回,如果没有找到就返回-1
# # print(dataStr.index('o'))      #index()也可以检测字符串中是否包含子字符串,并返回下标值,如果没找到就报错
# print(dataStr.startswith('I'))   #判断开头
# print(dataStr.endswith('n'))     #判断结尾
#
# #将全部字符转换为小写
# 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])             #下标0-2之间的数据
print(strMsg[::-1])           #倒序输出,负号表示方向,从右往左遍历  

三、列表(list)
1.列表特点

  • 支持增删改查
  • 列表中的数据是可以变化的 【数据项可以变化,内存地址不会变化】
  • 用[ ] 来表示列表数据类型,数据项之间用逗号来分隔,数据项可以是任何类型的数据
  • 支持索引和切片操作
    2.列表及常用方法
    在这里插入图片描述
    在这里插入图片描述
列表代码操作
li = [1,2,3,'你好']
print(len(li))         #len()函数可以获取列表中数据的个数
print(type(li))

#查找
listA=['abcd',785,12.23,'learning',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'])       #追加列表
# print('追加之后',listA)
# listA.append(8888)         #追加单个数据
# print(listA)

#插入数据
# listA.insert(1,"这是刚插入的数据")
# print(listA)

# rsData = list(range(10))   #强制转换为list对象
# print(type(rsData))
# listA.extend(rsData)       #拓展   等于批量添加
# print(listA)
# listA.append(['fff','ddd'])      #append()函数以列表的形式将数据追加到listA中
# print(listA)
# listA.extend(['fff','ddd'])      #extend()函数以单个数据的形式将数据追加到listA中
# print(listA)

# print('----------------------修改---------------------------')
# print('修改之前',listA)
# listA[0] = 333.85
# print('修改之后',listA)

print('----------------------删除---------------------------')
listB = list(range(10,50))
print(listB)
# del listB[0]                  #删除列表中第一个元素
# print(listB)
#
# del listB[1:3]                #批量删除
# print(listB)

# listB.remove(20)              #移除指定元素,参数是具体的数据值
# print(listB)

listB.pop(1)                    #移除指定项,参数是索引值
print(listB)

print(listB.index(19))          #查找数据,返回的是一个索引下标

四、元组
1.元组特点

  • 元组是一种不可变的序列,在创建之后不能做任何修改
  • 用()创建元组类型,数据项用逗号来分割
  • 元素数据可以是任何类型
  • 当元组中只有一个元素时,要加上逗号,不然解释器会当做整形来处理
  • 支持切片操作
    在这里插入图片描述
元组代码示例
#元组的创建
tupleA=()
print(id(tupleA))
tupleA=('abcd',89,12.3,'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[::-2])
# print(tupleA[-2:-1:])
# print(tupleA[-4:-2:])
# tupleA[4][0] = 789                #可以对元组中的列表类型数据进行修改
# print(tupleA)

tupleB = (1,)                       #当元组中只有一个数据项的时候,必须要在第一个数据项最后加上  逗号
print(type(tupleB))

tupleC=(1,2,3,1,2,3,4,5,1,5)
print(tupleC)
print(tupleC.count(1))              #可以统计元素出现的次数

五、字典
字典特点

  • 字典不是序列类型,没有下标概念,是一个无序的“键值”集合,是python内置的高级数据类型。
  • 用 {} 来表示字典对象,每个“键值对”用逗号分隔
  • “键”是不可变的类型【元组、字符串】,“值”可以是任意类型
  • 每个键必定是唯一的,如果存在重复的键,后者会覆盖前者
    在这里插入图片描述
    在这里插入图片描述
# 创建字典
#先创建,后赋值
from functools import reduce

dictA = {}  #空字典
#添加字典数据
dictA['name'] = '麦兜'        # key:value
dictA['age'] = '4'
dictA['post'] = '学生'
print(dictA)

#创建字典的同时赋值
# dict_A={"pro":"cartoon","location":"香港"}
# print(dict_A)
# print(len(dict_A))           #数据项长度

# print(dictA['name'])           #通过键获取对应的值
# dictA['name'] = '蜡笔小新'      #修改键对应的值
# print(dictA['name'])

#获取所有的键
# print(dictA.keys())
# #获取所有的值
# print(dictA.values())
#获取所有的键值对
# print(dictA.items())

#添加或更新数据
# dictA.update({'height':180})
# print(dictA)

#删除操作
# 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]))

print(reduce(lambda a, b: '{}, {}'.format(a, b), [1, 2,    3, 4, 5, 6, 7, 8, 9]))
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值