Python数据类型--序列

简介:python中基本数据类型就是序列,序列中的每一个元素都有自己的编号也就是索引,而python中含有六种内建序列,分别是字符串、列表、元组、Unicode字符串、buffer对象、xrange对象,其中应用最多的应该是列表和元组,以下将介绍列表和元组的相关操作。

一、列表

        列表是可变类型,也就是可以修改列表中的元素,列表定义为[],内部用逗号来分割元素,元素类型不限,可以是字符串、数字也可以内嵌列表、元组或者字典。

    list = []   # 创建一个空列表
    list1 = ['string', 123, ['abc', 123], (1, 2, 3)]
    print(list)
    print(list1)
    print(type(list))

    """
    输出如下:
    []
    ['string', 123, ['abc', 123], (1, 2, 3)]
    <class 'list'>
    """

        因为序列都是带有索引的,所以可以通过索引来查询对应的元素。索引从左到右是从0开始,从右到左是从-1开始计算,并可以通过对应的索引替换对应的元素。

    list = []   # 创建一个空列表
    list1 = ['string', 123, ['abc', 123], (1, 2, 3)]
    print(f'从左到右取索引下标从0开始{list1[0]}、{list1[1]}')
    print(f'从右到左取索引下标从-1开始{list1[-1]}')
    list1[1] = 456
    print(f'替换列表索引1的元素之后,列表变为:{list1}')

    """
    输出如下:
    从左到右取索引下标从0开始string、123
    从右到左取索引下标从-1开始(1, 2, 3)
    替换列表索引1的元素之后,列表变为:['string', 456, ['abc', 123], (1, 2, 3)]
    """

 二、元组    

        相比与列表的可变类型,元组就是不可变类型,也就是说元组中的元素是不可以更改的,准确的说因该是元组中的元素内存地址不能修改。元组也是用逗号进行分隔元素,也不限制元素类型。元组的操作与列表是相同的,只是不能修改元组元素。

        如果尝试修改元组内元素就会报错。

    tuple_1 = (1, 2, 'test')
    print(tuple_1)
    # 尝试修改元组内的元素
    tuple_1[0] = 2
    print(tuple_1)
    """
    输出如下:
    (1, 2, 'test')
    TypeError: 'tuple' object does not support item assignment
    """

        但如果元组内元素是列表,那么列表是可变类型,所以列表内元素是可以修改的,这是因为元组存储的列表本身的内存地址没有变化。

    tuple_1 = ([1, 2, 3], 2, 'test')
    print(tuple_1)
    # 尝试修改元组内的元素
    tuple_1[0][0] = 2
    print(tuple_1)
    """
    输出如下:
    ([1, 2, 3], 2, 'test')
    ([2, 2, 3], 2, 'test')
    """

        相比与元组,列表这种可变类型应用更加广泛,但是不是任何场景都适合用列表,针对于必须保证序列元素这种保护数据的应用场景,元组会更加安全些,使用时根据对应的应用场景进行判断。

三、序列概览--通用的序列操作

        Python中所有的序列类型都可以进行一些通用的操作:

        1、索引

                通过索引获取对应序列元素或修改对应元素。

        2、分片

                索引是对序列中单个元素进行访问,分片就是对序列数据的范围访问。通过【:】冒号进行分片访问,该操作在字符串中也有讲。分片访问左闭右包。

        3、加

                就是讲两个序列合并成一个序列

        4、乘

                重复序列

        5、成员资格判断(in or not in)

                判断是否元素在序列中。

        6、计算序列长度(len)

                使用内建方法len()就可以判断序列的长度

        7、找出最大元素(max)

                使用内建方法max()可以找出序列中最大的元素

        8、找出最小元素(min)

                使用内建方法min()可以找出序列中最小的元素

        9、迭代 iter

                可以通过迭代的方式依次对序列中的每个元素进行访问,后面也会讲一下iter迭代器的用法。

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值