首页>知识库>量化交易>Python的列表list

Python的列表list

之前学习了3种数据类型:字符串str、整数int、浮点数float,而列表很包容,各种类型的数据都能包含。

1、列表是什么?

列表是一种有序元素的集合,列表需要用中括号[]把里面的数据括起来,里面的每个数据称为”元素“,每个元素用逗号隔开。

如:

list = [20,1.99,'哪吒']

2、列表的增、删、改、查

2.1.1、如何从列表中提取元素?

使用下标索引的办法,列表中每个元素都有自己的位置编号(偏移量),而偏移量是从0开始的,列表名+带偏移量的中括号,就能提取相应元素。

  • 第一个元素下标索引值是0
  • 第二个元素下标索引值是1
  • ……
  • 最后一个元素的下标索引值是-1
  • 倒数第二个元素的下标索引值是-2
  • ……

比如,提取下面列表中的‘哪吒’

list = [20,1.99,'哪吒','二郎神‘,‘孙悟空']
print(list[2])

注意:可以用len()函数获得list元素的个数,如

#结果为5,表示list中有5个元素
list = [20,1.99,'哪吒','二郎神','孙悟空']
print(len(list))

2.1.2、如果提取列表中的多个元素 ?

使用列表切片,给定一个范围,比如:

#从第索引为0的元素开始取(包含这个元素),取到索引为3的元素(不包含这个元素)
print(list[0:3])
#也可以不指定开头和结尾,表示提取所有的元素
print(list[:])
#从索引为0的元素开始取,可以直接省略切片左边
print(list[:3])
#取到切片的末尾,可以直接省略切片的右边
print(list[3:])

可以跳跃提取元素:

#从头开始取,取到索引为6的元素(不包含此元素),并且中间间隔为2取一个元素
print(list[0:6:2])
#从头开始取,取到末尾(不包含第末尾元素),并且中间间隔为2取一个元素
print(list[::2])
#倒序提取元素
print(list[::-1])
#倒序提取元素,并且中间间隔为2
print(list[::-2])

注意:下表索引法,偏移量提取的是列表中的元素,而切片则是截取了列表的一部分,所以还是列表。

#提取下标索引为2的元素
print(list[2])
#提取下标索为从2开始的元素,是提取了列表中的一部分,结果还是列表
print(list[2:])

2.2、如增加列表的元素?

2.2.1、用append()函数给列表增加元素,append的意思增加、添加

注意:append()每次只能给列表增加一个元素。

#给列表末尾增加元素3
list = [20,1.99,'哪吒','二郎神','孙悟空']
list.append(3)
#给列表末尾增加一个新元素——列表[3,5],支持嵌套
list = [20,1.99,'哪吒','二郎神','孙悟空']
list.append([3,5])

2.2.2、如果想要给列表增加多个元素,需要用extend()函数

extend()函数的参数必须是可迭代对象,新内容是增加到原列表元素的末尾。

#给列表末尾增加新元素3和5
list = [20,1.99,'哪吒','二郎神','孙悟空']
list.extend([3,5])

2.2.3、如果想要在列表的任意位置插入元素,需要用到insert()参数

#在列表元素’哪吒‘和’二郎神‘中间插入’李靖’(索引值为3的地方插入元素‘李靖’)
list = [20,1.99,'哪吒','二郎神','孙悟空']
list.insert(3,'李靖')

2.3、如何删除列表的元素:

2.3.1、del语句,既能删一个元素,也能删多个元素,原理和切片类似,左取右不取。

#删除列表中索引值为1的元素 1.99
list = [20,1.99,'哪吒','二郎神','孙悟空']
del list[1]
#删除列表中的索引值从1(包含1)开始之后的所有元素
list = [20,1.99,'哪吒','二郎神','孙悟空']
del list[1:]
#删除列表中的索引值3之前的所有元素
list = [20,1.99,'哪吒','二郎神','孙悟空']
del list[:3]

2.3.2、pop()函数,按照下标索引值删除指定元素。

#删除列表中偏移量为1的元素:1.99
list = [20,1.99,'哪吒','二郎神','孙悟空']
list.pop(1)
#删除列表中末尾的元素:孙悟空
list = [20,1.99,'哪吒','二郎神','孙悟空']
list.pop()

2.3.3、remove()函数,可以将指定的元素删除,如果列表有多个同样的元素,只会删除第一个元素;如果元素不存在,则会报错。

#删除列表中的元素 1.99
list = [20,1.99,'哪吒','二郎神','孙悟空']
list.remove(1.99)

2.3.4、清空列表中的元素用clear()函数

#清空列表中的所有元素
list = [20,1.99,'哪吒','二郎神','孙悟空']
list.clear()
2.4、如何修改列表的元素:
#修改‘哪吒’为‘猪八戒’
list = [20,1.99,'哪吒','二郎神','孙悟空']
list[2]= '猪八戒'
#把‘哪吒’及之后元素改为‘猪八戒’、‘唐僧‘、’沙和尚‘

list = [20,1.99,'哪吒','二郎神','孙悟空']
list[2:]= ['猪八戒'、'唐僧'、'沙和尚']
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索