zoukankan      html  css  js  c++  java
  • (3)python 列表和元组

    列表 元组 字段 等都是一种数据结构。其中列表和元组比较相似都是顺序保存的,都可以通过索引来找到元素。

    列表和元组的主要区别:列表是可以修改的,元组不可以修改。列表用[]表示,元组用()表示

    一、列表、元组的通用用法

    1.通过索引使用元素

    也可以直接使用索引,不需要赋值给变量

     如果函数返回一个序列,可对返回结果进行索引操作

     

    2.切片

    也就是截取字符串用两个索引中间加冒号的形式 [3:6]

    其中第一个索引包含在内,第二个索引不包含在内

    可以看出4的索引是3,7的索引是6。

    从四个个元素到最后一个

    num[3:]

    反向索引如何获取最后一个元素

    这种方法无法访问到最后一个元素

    可以用[-3:]这种方式访问

    同样使用与正向

    或者全部

    使用步长

    通长默认步长是1,如果步长是2就是每隔一个元素

    步长可以为负数,此时元素从右向左提取

    使用负数当步长是索引范围的第一个数要比第二个要大

    3.序列运算

    (1)相加

     

    两种相同类型的序列才可以相加

    会报错

    (2)相乘

    会变成n倍

     空列表

    如果想初始化一个10个元素的空列表

    4.成员资格

    判断是否包含该元素用in

    存在返回True,不存在返回false

    5.长度、最大值、最小值

     

     6.序列封包和序列解包

    (1)先封包后解包

    解包的数量必须与等号左边数量相同

    (2)还可以用*表示一个序列

    序列在末尾

    在前端

    还可以在中间

     二、列表

    函数list(字符串转列表)

    1、改变列表的值

     2、删除元素

     3、分片赋值

    列表方法

    1、append方法

    末尾追加新对象

    2、count方法

    统计元素出现的次数

    3、extend方法

    在原列表扩展其他列表

    类似于前面的序列相加,但是序列相加没有改变原有的值extend改变了原值

     

    4、index

    用于找出列表中某个值第一个匹配项的索引位置

    5、insert

     将对象插入到列表,

    6、pop

    移除列表中的元素,默认是最后一个

      7、remove

    用于移除列表中某个值的第一个匹配项

    8、reverse

    将列表元素反向存放

    9、sort

    对原列表进行排序

    如果想要把副本排序

    用 b=a[:] 是一种很效率的复制整个列表的方法

    如果用

    b=a则表示他们同指向一个列表

     10、高级排序

     

    列表推导式

    列表推导式用于使用其他列表创建一个新列表

    基本形式为: [表达式 for 变量 in 列表]  

    l=[3,4,5]
    a=[i*2 for i in l ]
    print(a)#[6, 8, 10]

    三、元组

    元组类似于列表,用()表示

    元组也是序列,元组和列表的区别在于元组不能被修改

     用一个元组或列表同时赋值

    >>> a,b=(1,2)
    >>> a
    1
    >>> b
    2
    >>> 

     或者只用逗号分开自动创建一个元组

    如果只有一个元素,在元素后面加个逗号,也表示元组

     元组的创建和访问与其他序列相同

    四、deque

    列表在元素末尾添加或弹出非常快,但是在开头很慢

    如果大量使用开头插入弹出频繁的功能,可以使用deque类

    from collections import deque
    q=deque(['tom','liu','wang'])
    q.append('zhao')
    q.popleft()
    print(q)
  • 相关阅读:
    [已解决]报错:Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m;
    比较asyncio.run_coroutine_threadsafe 和 run_in_executor的区别
    sql server表结构对比
    sql server乱码显示问题
    sql server表分区系列【转】
    无法使用备份文件,因为原先格式化该文件时所用扇区大小为 512,而目前所在设备的扇区大小为 4096
    notepad++安装SQL格式化插件
    Linux学习笔记(21)linux查看系统状态
    mysql导入报错 [Err] 1273
    mysql cte
  • 原文地址:https://www.cnblogs.com/buchizaodian/p/6819616.html
Copyright © 2011-2022 走看看