python基本数据类型-列表list

1.定义

[]内以逗号分割,按照索引,存放各种数据类型(字符串,数字,列表),每个位置代表一个元素。

2.特性

2.1 可以存放多个值
2.2 按照从左到右的顺序定义列表,下标从0开始顺序访问,有序
2.3 可修改指定索引位置的值,可变(与str相反,str是不可修改的)

3.列表的常用操作

3.1 列表的增加

3.1.1 append()

追加,数据会追加到尾部

       >>> names = ['小明','Mr.wang',22]
       >>> names.append('小张')
       >>> names
       ['小明', 'Mr.wang', 22, '小张']
3.1.2 insert()

根据索引插入,可插入任何位置(插到索引的位置)

      >>> names.insert(1,'mekio')
      >>> names
      ['小明', 'mekio', 'Mr.wang', 22, '小张']
      >>> names.insert(5,'xiye')
      >>> names
      ['小明', 'mekio', 'Mr.wang', 22, '小张', 'xiye']
3.1.3 extend()

合并操作,把一个列表合并到另一个列表中

      >>> names
      ['小明', 'mekio', 'Mr.wang', 22, '小张', 'xiye']
      >>> rng = ['uzi','xiaohu']
      >>> names.extend(rng)
      >>> names
      ['小明', 'mekio', 'Mr.wang', 22, '小张', 'xiye', 'uzi', 'xiaohu']

3.2 列表删除

3.2.1 根据索引直接删除
      >>> names
      ['小明', 'mekio', 'Mr.wang', 22, '小张', 'xiye', 'uzi', 'xiaohu']
      >>> del names[4]
      >>> names
      ['小明', 'mekio', 'Mr.wang', 22, 'xiye', 'uzi', 'xiaohu']
      >>> del names[0]
      >>> names
      ['mekio', 'Mr.wang', 22, 'xiye', 'uzi', 'xiaohu']
3.2.2 pop(index)

删除索引处的元素并且返回被删除的元素,如果没有索引则默认删除最后一个元素

      >>> names
      ['mekio', 'Mr.wang', 22, 'xiye', 'uzi', 'xiaohu']
      >>> names.pop()
      'xiaohu'
      >>> names.pop(1)
      'Mr.wang'
3.2.3 remove()

根据列表元素删除,删除在列表中找到的第一个目标值

      >>> names
      ['mekio', 22, 'xiye', 'uzi', 'mekio']
      >>> names.remove('mekio')
      >>> names
      [22, 'xiye', 'uzi', 'mekio']
3.2.4 clear()

清空列表

      >>> rng
      ['uzi', 'xiaohu']
      >>> rng.clear()
      >>> rng
      []

3.3 列表修改

3.3.1 根据索引修改
      >>> names
      [22, 'xiye', 'uzi', 'mekio']
      >>> names[0]='letme'
      >>> names
      ['letme', 'xiye', 'uzi', 'mekio']
      >>> names[-1] = 'mlxg'    # -1为倒数第一个元素的索引
      >>> names
      ['letme', 'xiye', 'uzi', 'mlxg']

在不知道某一个元素在哪个位置的修改方法
1.判断该元素是否在列表中 target in list:
2.如果在,取出索引 index = list.index(target)
3.修改 list[index] = new_target

3.4 列表查找

3.4.1 index()

返回查找元素的索引

      >>> names
      ['letme', 'xiye', 'uzi', 'mlxg']
      >>> names.index('xiye')
      1
      >>> names.index('mlxg')
      3
3.4.2 count()

返回查找元素在列表中个数

      >>> names
      ['letme', 'xiye', 'uzi', 'mlxg', 'letme']
      >>> names.count('uzi')
      1
      >>> names.count('letme')
      2

3.5 切片

切片操作是顾头不顾尾

3.5.1
      >>> names
      ['letme', 'xiye', 'uzi', 'mlxg', 'letme']
      >>> names[0:3]
      ['letme', 'xiye', 'uzi']

切片操作时,当起始参数为0可以省略不写,即上述操作也可写为

      >>> names[:3]
      ['letme', 'xiye', 'uzi']
3.5.2 取最后的两个值
      >>> names[3:5]  # 超标写法,即索引超出
      ['mlxg', 'letme']
      >>> names[3:]   # 省略写法,即从索引开始,取到最后
      ['mlxg', 'letme']
3.5.3 倒着切
      names[-3:-1] # 取出倒数第三个和倒数第二个
      ['uzi', 'mlxg']
      >>> names[-3:] # 取出倒数后三个
      ['uzi', 'mlxg', 'letme']
3.5.4 根据步长跳着切
      >>> names
      ['letme', 'xiye', 'uzi', 'mlxg', 'letme']
      >>> names[::2] # 从第一个切到最后一个,步长为2,全部省略即为从开始切到最后,且包括开始和最后的元素
      ['letme', 'uzi', 'letme']

3.6 排序 sort()

根据字符编码排序

      >>> num = [2,4,7,4,5,0,1,8]
      >>> num.sort()
      >>> num
      [0, 1, 2, 4, 4, 5, 7, 8]

3.7 反转 reverse()

      >>> num
      [0, 1, 2, 4, 4, 5, 7, 8]
      >>> num.reverse()
      >>> num
      [8, 7, 5, 4, 4, 2, 1, 0]
      >>> names
      ['letme', 'xiye', 'uzi', 'mlxg', 'letme']
      >>> names.reverse()
      >>> names
      ['letme', 'mlxg', 'uzi', 'xiye', 'letme']

3.8 循环列表

>>> for i in names:
	print(i)

	
letme
mlxg
uzi
xiye
letme
created by Caizhi
原文地址:https://www.cnblogs.com/cai-zhi/p/14316554.html