Python序列结构

引言

在这一章,我们会先了解序列结构,然后学习高级的数据类型,OK,开始吧

序列

简介

序列是一块可存放多个值连续内存空间所有值按一定的顺序排列,每个值所在的位置都有一个编号,称其为索引,我们可以通过索引访问其对应值。

字符串就是序列结构,除此之外常见的序列结构还包括列表、元组等。

基本使用
索引

序列索引支持非负数和负数,索引为非负数,从 0 开始

str = 'Python'
print('str[0] str[-6] =', str[0], str[-6])
print('str[5] str[-1] =', str[5], str[-1])
切片

切片操作可以访问一定范围内的元素

语法:

sname[start : end : step]
  • sname:表示序列的名称;
  • start:开始索引位置(包括该位置),默认为 0;
  • end:表示切片的结束索引位置(不包括该位置),默认为序列的长度;
  • step:步长。
str = 'Python'
print(str[:3])	# Pyt
print(str[3:])	# hon
print(str[:])	# Python
负数步长-

在Python中,切片操作需要使用短横线-来表示负数步长

s = "Alice"
print(s[::-1])

这将输出:

ecilA

Python中的负数步长在切片操作中表示反向步进。

相加

Python 支持类型相同的序列使用 + 作相加操作,该操作不会去除重复的元素

str1 = 'Python'
str2 = 'Python'
print('str1 + str2 --> ',str1 + str2)  # PythonPython
相乘

Python 中,使用数字 n 乘以一个序列会生成新的序列,内容为原来序列被重复 n 次的结果。

str = "python"
print("2 * str =>", 2 * str)  # pythonpython
元素是否在序列中

Python 使用 in 关键字检查某元素是否为序列的成员,语法如下:

val in seq
  • val:要检查的元素;
  • seq:指定的序列。
str = 'Python'
print('on'in str)	# True
内置函数
函数描述
len()计算序列的长度
max()找出序列中的最大元素
min()找出序列中的最小元素
list()将序列转换为列表
str()将序列转换为字符串
sum()计算元素的和
sorted()对元素进行排序
enumerate()将序列组合为一个索引序列,多用在 for 循环中

列表与元组

列表
简介

Python 中没有数组,而是加入了功能更强大的列表(list),列表可以存储任何类型的数据同一个列表中的数据类型还可以不同;列表是序列结构,可以进行序列结构的基本操作:索引、切片、加、乘、检查成员。

基本使用
创建列表

列表中所有元素都放在一个中括号 [] 中,相邻元素之间用逗号 , 分隔

l = [1024,"cc",5]
访问

通过索引来访问列表中的值,还可以使用:来截取范围内的元素

l = [1024, 0.5, 'Python']
print('l[0] -->', l[0])
print('l[1:] -->', l[1:])
更新

除了对列表中现有元素进行修改以外,还可以使用append()向列表中添加新元素

l = [1024, 0.5, 'Python']
# 修改列表中第二个元素
l[1] = 5
# 向列表中添加新元素
l.append('Hello')
print('l[1] -->', #  l[1])  1[1] --> 5
print('l -->', l)	#  l --> [1024, 5, 'Python', 'Hello']
删除

使用del删除列表中的元素

l = [1024, 0.5, 'Python']
# 删除列表中第二个元素
del l[1]
print('l -->', l)
常用的方法
  1. count()

    统计列表中某个元素出现次数

    l = ['d', 'b', 'a', 'f', 'd']
    print("l.count('d') -->", l.count('d')) # 2
    
  2. index()

    查找某个元素在列表中首次出现的位置

    l = ['d', 'b', 'a', 'f', 'd']
    print("l.index('d') -->", l.index('d')) # 0
    
  3. remove()

    移除列表中某个值的首次匹配项

    l = ['d', 'b', 'a', 'f', 'd']
    l.remove('d')
    print("l -->", l)   
    # l --> ['b', 'a', 'f', 'd']
    
  4. sort()

    对列表中的元素进行排序

    l = ['d', 'b', 'a', 'f', 'd']
    l.sort()
    print('l -->', l)
    # l --> ['a', 'b', 'd', 'd', 'f']
    
  5. copy()

    复制列表

    l = ['d', 'b', 'a', 'f', 'd']
    lc = l.copy()
    print('lc -->', lc)
    #  lc --> ['d', 'b', 'a', 'f', 'd']
    
元组
简介

元组(tuple)与列表类似,但是元组是不可变的,元组常用于保存不可修改的内容。

基本使用
创建

元组中所有元素都放在一个小括号()中,相邻的元素之间用逗号,分开

t = (1024,0.5,'python')
访问

与访问列表类似

t = (1024, 0.5, 'Python')
print('t[0] -->', t[0])
print('t[1:] -->', t[1:])
修改

元组中的元素不能被修改,我们要用重新赋值的方法进行操作

t = (1024, 0.5, 'Python')
t = (1024, 0.5, 'Python', 'Hello')
print('t -->', t)
删除

元组中的元素不能被删除,只能删除整个元组

t = (1024, 0.5, 'Python')
del t
print('t -->', t)
常用方法
  1. len()

    计算元组中元素个数

    t = (1024, 0.5, 'Python')
    print('len(t) -->', len(t)) # 3
    
  2. max()和min()

    返回元组中最大最小值

    t = ('d', 'b', 'a', 'f', 'd')
    print('max(t) -->', max(t))
    print('min(t) -->', min(t))
    
  3. tuple()

    将列表转换为元组

    l = ['d', 'b', 'a', 'f', 'd']
    t = tuple(l)
    print('t -->', t)
    #  t --> ('d', 'b', 'a', 'f', 'd')
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值