Python基础-列表元组

列表元组

列表元组的操作符

len在列表元组中的使用

  • len函数可以计算除数字类型之外,其他所有数据类型的长度

列表(元组)之间的累加与乘法

  • 两个列表相加可以使用+
  • 同一个列表多次累加可以使用*

in和not in在列表(元组)中的用法

  • in用于判断某个成员(元素)是否在该数据结构中
  • not in用于判断某个成员(元素)是否不在该数据结构中

append()函数(将一个元素添加到当前列表中)

  • 用法:

list.append(new_item)

  • 参数

new_item:需要添加到列表中的元素

  • 注意:
    • 不会新生成一个列表,是在原有的列表中添加
    • 被添加的元素只会被添加到末尾

insert()函数(讲一个元素添加到当前列表的指定位置)

  • 用法:

list.insert(index,new_item)

  • 参数

index:新元素的位置
new_item:需要添加到列表中的元素

  • 注意:
    • append只能添加到列表的末尾,insert可以选择任意一个位置
    • insert传入的index不存在,则将新元素添加到列表结尾
    • 字符串,元组,列表 元素的位置是从0开始计算的

count()函数(返回当前列表中某个成员的个数)(元组可用)

  • 用法:

inttype = list.count(item)

  • 参数

item:需要查询个数的元素

  • 注意:
    • 如果查询的成员(元素)不存在,则返回0
    • 使用该函数,只会检查列表或元组中完整元素是否存在需要计算的内容:
      • 如list中存在"西瓜"
      • 如果coun(“西”)
      • 则返回0

remove()函数(删除列表中的某个元素)

  • 用法:

list.remove(item)

  • 参数

item:准备删除的列表元素

  • 注意:
    • 如果指定删除的成员在列表中不存在,会直接报错
    • 如果指定删除的元素有多个,则会删除从左到右的第一个元素
    • remove函数不会新建一个列表,而是在原有的列表中进行删除

python的内置函数del(完全删除)

  • del可以把变量完全删除
  • 用法:

del 变量名

  • 参数

变量名:准备删变量

  • 注意:
    • 如果重新应用被删除的变量,会报错(变量未定义)

reverse()函数(将当前列表顺序进行反转)

  • 用法:

list.reverse()

  • 参数

无参数

  • 注意:
    • 对当前列表进行修改

sort()函数(对当前列表按照一定规律进行排序)

  • 用法:

list.sort(cmp=NONE,key=NONE,reverse=False)

  • 参数

cmp --- 可选参数,指定排序方案
key --- 参数比较
reverse --- 排序规则,reverse= True 降序,reverse = False 升序(默认)

  • 注意:
    • 默认按照字符串首字母的顺序及数字的大小进行排序
    • 必须要保证列表中的元素类型相同,否则无法排序,会报错
    • 如果当前列表的顺序符合要求,则不会再进行排序了

clear()函数(清空当前列表中的所有数据)

  • 用法:

list.clear()

  • 参数

无需传参

  • 注意:
    • 没有返回值,是对已有的列表进行修改

copy()函数(将当前列表复制一份相同的列表)

  • 用法:

list.copy()

  • 参数

无需传参

  • 注意:
    • 新列表与旧列表的内容相同,但是指向的内存地址不同,本质上不是同一个列表

    • 二次赋值的变量与原始变量相同,指向的内存地址也相同,本质上是同一个列表

    • copy属于浅拷贝(列表中的某个数据发生了变化后,相互之间会受到影响)

      # coding:utf-8
      a = [[1,2,3],[4,5,6]]
      b = a.copy()
      print(b)
      b[0].append(4)
      print(a)
      print(b)
      
    • 可以使用copy.deepcopy(X)进行深拷贝(深拷贝对深层数据也进行了copy,原始数据和新变量完全不共享数据)

      # coding:utf-8
      import copy
      
      a = [[1,2,3],[4,5,6]]
      b = copy.deepcopy(a)
      print(b)
      b[0].append(4)
      print(a)
      print(b)
      

extend()函数(将其他列表或者元组中的元素一次性导入当前列表)

  • 用法:

list.extend(iterable)

  • 参数

iterable 代表列表或者元组,该函数无返回值

  • 注意:
    • 传入的参数需要是一个可迭代的元素
    • 可迭代的元素中会被导入到列表中

列表的索引与切片

索引

  • 字符串,列表和元组
  • 从最左边记录的位置就是索引
  • 索引用数字表示,从左往右从0开始
  • 字符串,列表(元组)的最大索引是他们的长度-1

切片

  • 索引是对单个元素进行访问,切片则是对一定范围内的元素进行访问
  • 通过冒号在中括号内把相隔的两个索引查找出来[0:3]
  • 切片规则,划定范围之后,左含右不含
  • 通过切片方式获取的列表不是原列表
  • 可以使用[::-1]的方式,将该列表进行反序操作
  • 可以使用[-3:-1]的方式反向获取元素
  • 可以通过设置步长的方式来获取切片[起始元素:终止元素(不包含):步长]
  • 可以使用[0:0]的方式来生成空列表

索引的获取与修改

  • 用法:

list[index]

  • 参数

index 代表一个在存在范围内的索引

  • 注意:
    • 数据的修改只能在索引范围之内
    • 列表无法通过添加新的索引的方式来添加值
    • 可以通过list.index(item)来查找item元素在list中的索引值

pop()函数(根据索引删除列表中的元素)

  • 用法:

list.pop(index)

  • 参数

index 代表一个在存在范围内的索引

  • 注意:
    • 数据的修改只能在索引范围之内,如果不存在则会报错
    • 函数会删除该索引的元素并返回

del()函数(删除列表或者其中的索引)

  • 用法:

del list[index]

  • 参数

index 代表一个在存在范围内的索引

  • 注意:
    • 该函数会直接删除列表中指定索引位置的值,无返回值
    • 如果index(索引)不存在则报错

索引和切片在元组中的特殊性

  • 元组可以与列表一样获取索引与切片索引
  • 元组函数index和列表用法完全一致
  • 无法通过修改索引修改与删除元素(元组是不可修改的)

字符串的索引与获取

  • 字符串的索引与列表的索引类似
  • 字符串中的每个字符都有一个索引位置
  • 其余规则与列表索引类似
  • 字符串无法通过索引修改与删除
  • 字符串不可修改

字符串的find与index函数

  • 均用于获取元素的索引位置
  • 用法:

string.index(item)
string.find(item)

  • 参数

item 希望查找索引位置的元素

  • 注意:
    • find找不到对应的元素位置会返回-1
    • index找不到对应元素的位置会直接报错

猜你喜欢

转载自blog.csdn.net/Lz__Heng/article/details/130363231
今日推荐