zoukankan      html  css  js  c++  java
  • python基础(十、高级变量类型-列表、元组)

    13.高级变量类型
    3)列表
    (1)列表的定义
    List(列表) 是Python中使用最频繁的数据类型,在其他语言中通常叫做数组,专门用于存储一串信息
    列表用“[]”定义,数据之间使用“,”分隔
    列表的索引从0开始,索引就是数据在列表中的位置编号,索引又可以被称为下标

    (2)列表常用操作
    快速调出列表的使用方法:
    在ipython3中定义一个列表,例如:name_list = []
    输入name_list.按下TAB键,ipython会提示列表能够使用的方法如下:


    ①取值,列表也有索引、切片、迭代遍历

    取列表中某个数据的某个字符

    连续取值,包含开始,不包含结束(与字符串类似):

    起始加步长

    ②修改数据

    修改字符串时,需要重新赋值。修改列表是可以直接修改,列表是可变类型的变量

    ③增加数据(append、insert、extend)

    注意:使用extend添加字符串时,字符串会被拆开。

    extend只适用于合并列表

    ④删除数据(remove、pop、clear)

    pop()方法弹出的数据,可以被其它变量接收

    列表中有多个相同数据时,remove会删除第一个符合的数据

    ⑤关键字(科普)
    使用del关键字(delete) 同样可以删除列表中元素

    del关键字本质上是用来将一个变量从内存中删除的,如果使用del关键字将变量从内存中删除,后续的代码就不能再使用这个变量了

    在日常开发中,要从列表删除数据,建议使用列表提供的方法

    ⑥统计:
    len可以统计列表中数据的数量
    count可以统计某个数据在元祖中出现的次数

    ⑦排序

    (3)迭代遍历
    遍历就是从头到尾依次从列表中获取数据,在循环体内部针对每一个元素,执行相同的操作,在Python中为了提高列表的遍历效率,专门提供的迭代iteration遍历。使用for就能够实现迭代遍历
    for循环内部使用的变量 in 列表

    顺序的从列表中依次获取数据,每一次循环过程中,数据都会保存在变量my_name中,在循环体内部可以访问到当前这一次获取到的数据

    练习:让用户输入加法算式,计算结果

    注意:迭代遍历时,不能删除列表内容,否则容易出错
    删除列表中姓张的元素

    原因分析:拿到第0个元素张三,判断姓张,删除数据。张无忌变成第0个元素,但第0个元素已经删过了,该检查第一个元素了。张桐变成第一个数据被删掉,张无忌成为漏网之鱼,同理,张聪也会被漏删。
    问题解决:先将姓张的记到小本本上,再根据小本本删除。

    (4)应用场景
    尽管Python的列表中可以存储不同类型的数据,但是在开发中,更多的应用场景是:
    ①列表存储相同类型的数据
    ②通过迭代遍历,在循环体内部,针对列表中的每一项元素,执行相同的操作
    使用迭代遍历过滤敏感词语:

    4)元组
    (1)元组的定义
    ①Tuple(元组)与列表类似,不同之处在于元组的元素不能修改。元组表示多个元素组成的序列,元组在Python开发中,有特定的应用场景
    ②元组用于存储一串信息,数据之间使用“,”分隔
    ③元组用“()”定义
    ④元组的索引从0开始,索引就是数据在元组中的位置编号

    ⑤创建空元组

    ⑥创建只有一个数据的元组
    元组中只包含一个元素时,需要在元素后面添加“,”。 “()” 默认是运算符号,元素后面加“,”让python知道这是元组。

    (2)元组常用操作
    ①查询元组支持的所有操作
    在ipython3中定义一个元组,例如:info = ()。输入info.按下TAB键,ipython会提示元组能够使用的函数如下:
    (a)info.count 某个数据在元组中出现的次数
    (b)info.index 某个数据在元组中对应的索引下标
    ②取值

    ③切片

    ④取索引:已知该数据的内容,希望知道该数据的索引值

    ⑤统计计数:统计数据在元组中出现的次数

    ⑥统计长度:len可以统计列表中数据的数量

    ⑦元祖中的可变类型数据是可以被修改

    (3)迭代遍历
    取值就是从元组中获取存储在指定位置的数据
    遍历就是从头到尾依次从元组中获取数据
    在Python中,可以使用for迭代遍历所有非数字型类型的变量:列表、元组、字典以及字符串
    语法:for 循环内部使用的变量 in 元组

    提示:在实际开发中,除非能够确认元组中的数据类型,否则针对元组的迭代遍历需求并不是很多。因为元组中数据的数据类型一般不相同,无法进行拼接操作。例如上面的语句中:
    打印姓名,需要使用语句print(“姓名是:%s” % item)
    打印年龄,需要使用语句print(“年龄是:%d” % item)
    打印身高,需要使用语句print(“年龄是:%f 米” % item)
    三个参数不一样,无法使用迭代遍历操作

    (4)应用场景
    在开发中,元组主要的应用场景是:
    ①函数的参数和返回值,一个函数可以接收任意多个参数,或者一次返回多个数据。
    有关函数的参数和返回值,在后续函数高级给大家介绍
    ②格式字符串,格式化字符串后面的“()”本质上就是一个元组
    ③让列表不可以被修改,以保护数据安全

    三种代码的输出结果是一样的。

    (5)元组和列表之间的转换
    ①使用list函数可以把元组转换成列表
    语法:list(元组)
    ②使用 tuple 函数可以把列表转换成元组
    语法:tuple(列表)

  • 相关阅读:
    阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第2节 线程实现方式_5_主线程
    阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第2节 线程实现方式_4_线程调度
    阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第2节 线程实现方式_3_线程概念
    阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第2节 线程实现方式_2_进程概念
    阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第2节 线程实现方式_1_并发与并行
    阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第1节 异常_14_自定义异常类的练习
    阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第1节 异常_13_自定义异常类
    阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第1节 异常_12_异常注意事项_子父类异常
    阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第1节 异常_10_异常注意事项_多异常的捕获处理
    阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第1节 异常_9_finally代码块
  • 原文地址:https://www.cnblogs.com/bdzxh/p/14060952.html
Copyright © 2011-2022 走看看