欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python列表

程序员文章站 2022-06-22 11:41:05
列表 列表(数组)由一系列按特定顺序排列的元素组成。在Python中,用方括号([ ])来表示列表,并用逗号来分隔其中的元素。 创建列表: (1)直接创建;a = [] (2) 赋值: 创建时赋值:a = [1, 2, 3] 元素赋值:a[0] = 1 (3)访问列表 print(a[0]) 列表的 ......

06列表

1 序列

一种数据结构(计算机中存储数据的方式)通过索引来操作元素

  • 可变序列:列表、元组
  • 不可变序列:字符串

2 列表

2.1 使用列表

  • 列表可以保存任意对象,包括函数
list = ['a','b','c','d','e','f',1,None,True,max(1,2,3)]
print(type(list),list) 
  • 以索引取出列表中的元素,索引从0开始
  • 当索引超出列表范围时,出现如下错误
    python列表
  • 用len()函数获取列表长度(列表元素个数)即列表长度是列表最大索引值加1
print(len(list))
  • 索引可以是负数,索引为负数时,-1表示最后一个,以此类推;同时,如果超出索引范围,同样报错。

2.2 切片

通过切片来获取列表中某几个元素,组成子列表;可以获取指定元素

  • 语法:列表[起始:结束:步长]。注意:取出的元素包含起始不包含结束。切片获取新列表,不会影响原列表。
print(list[1:4])
print(list)

输出结果:

['b', 'c', 'd']
['a', 'b', 'c', 'd', 'e', 'f', 1, None, True, 3]
  • 省略结束位置:从当前位置一直截取到最后;省略开始位置,从第一个元素到当前位置前一个元素。
print(list[1:])#['b', 'c', 'd', 'e', 'f', 1, None, True, 3]
  • 省略开始和结束,输出包含全部元素的新列表
  • 步长
    步长可省略,步长默认为1;也可直接指定步长。步长可以为负,不能为0;步长为负数时,从后面往前面切片。
print(list[::2])#['a', 'c', 'e', 1, True]
print(list[::-1])#[3, True, None, 1, 'f', 'e', 'd', 'c', 'b', 'a']

2.3 序列通用操作

  • ‘+’ 将两个列表拼接成一个
list1 = ['a','b','c','d','e','f']
list2 = [1,2,3,4,5]
print(list1+list2)
#输出 ['a', 'b', 'c', 'd', 'e', 'f', 1, 2, 3, 4, 5]
  • ‘*’ 可以将列表重复指定的次数
list3 = [2,3,4] 
print(list3 * 2 )#list32 [2, 3, 4, 2, 3, 4]`
  • in和 not in 返回布尔型
list1 = ['a','b','c','d','e','f']
print('f' in list1)
#True
  • min() 获取列表中最小值,max()获取列表中最大值
  • 两个方法(method)
    方法一:s.index[元素,起始位置,结束位置]
list1 = ['a','a','b','c','d','e','f']
print(list1.index('a'))
#0
  • 方法二:s.count(元素):获取指定元素在列表中出现次数

2.4 修改列表

  • 通过索引
list1 = ['a','a','b','c','a','d','e','f']
list1[0] = 'apple'
print(list1)#['apple', 'a', 'b', 'c', 'a', 'd', 'e', 'f']
  • 通过del
    通过关键字del删除元素
list1 = ['a','a','b','c','a','d','e','f']
del list1[:2]
print(list1)#['b', 'c', 'a', 'd', 'e', 'f']
  • 通过切片
list1 = ['a','a','b','c','a','d','e','f']
list1[0:3] = 'xxxxx'
print(list1)#['x', 'x', 'x', 'x', 'x', 'c', 'a', 'd', 'e', 'f']

此处列出一个错误:传递的必须是一个序列
python列表
向索引为0的位置插入元素

list1 = ['a','a','b','c','a','d','e','f']
list1[0:0] = 'x'
print(list1)#['x', 'a', 'a', 'b', 'c', 'a', 'd', 'e', 'f']
  • 注意:当设置了步长时,替换的序列中元素个数必须与切片中元素个数保持一致
  • 通过切片来删除元素
list1 = ['a','a','b','c','a','d','e','f']
list1[0:2] = []
print(list1)#['b', 'c', 'a', 'd', 'e', 'f']
  • 向列表最后添加元素
    s.append()
list1 = ['a','a','b','c','a','d','e','f']
list1.append('xxx')
print(list1)#['a', 'a', 'b', 'c', 'a', 'd', 'e', 'f', 'xxx']
  • s.insert()
list1 = ['a','a','b','c','a','d','e','f']
list1.insert(2,'xxx')
print(list1)#['a', 'a', 'xxx', 'b', 'c', 'a', 'd', 'e', 'f']
  • extend():使用新的序列来扩展当前序列
list1 = ['a','a','b','c','a','d','e','f']
list1.extend(['yyy','xxx'])
print(list1)#['a', 'a', 'b', 'c', 'a', 'd', 'e', 'f', 'yyy', 'xxx']
  • s.clear() 清空列表

  • s.pop()根据索引来删除,可以返回要删除的元素;不传递索引,默认删除最后一个

  • s.remove():删除指定元素,如果该元素有多个,则只删除第一个;无返回值

  • s.reverse:用于翻转列表

  • s.sort():用于对列表中元素排序,默认升序,设置reverse=Ture变为降序。

2.5 遍历列表

  • 常用函数range(开始,结束,步长),包括开始,不包括结束

2 不可变序列(待续)

不可变序列,以上操作不可以直接进行;若要操作,可以进行类型转换后再

本文地址:https://blog.csdn.net/weixin_42174416/article/details/107329729