1.定义:
是使用逗号进行分隔值,然后使用方括号进行括起来的表现形式,其值的类型可以是不同类型,但是通常为相同类型的(表示一系列数据的集合)。

定义声明:
变量名=[元素1,元素2,元素2,…]

1.当需要声明多个变量则通常使用列表形式表示。
2.多个变量同时赋值的表现形式。
>>> a,b,c=1,2,3 3.多个变量同时赋一个值可以表示:a=b=c=10

注:列表的取值以及截取和反转操作与字符串一样的。

#取值
>>> list1=[1,2,3,4,5,67]
>>> print(list1[2])
3
#截取(切片)
#变量名[开始值:结束值:步进]
>>> list2=[1,2,3,4,5,67]
>>> print(list2[3:5:1])
[4, 5]
"""
步进默认是1,
结束值同样也可以省略,表示截取后续的所有值。
"""
#列表反转
>>> list2=[1,2,3,4,5,67]
>>> print(list2[::-1])
[67, 5, 4, 3, 2, 1]
"""
注意:列表中的最大索引值是否等于列表的长度值?
不等:最大下标索引值=长度值-1
"""

3.列表元素增加

  • 列表名.append(追加的元素)
#直接将元素增加到列表的尾部。
>>> list1=[1,2,2,3,4]
>>> list1.append(199)
>>> print(list1)
[1, 2, 2, 3, 4, 199]
  • 列表名.insert(索引值,插入的元素)
#指定索引添加元素到列表
>>> list1=[1,2,2]
>>> list1.insert(2,520)
>>> print(list1)
[1, 2, 520, 2]
"""
如果一个列表中追加的是另外一个列表的话则会返回一个二维列表,
(1个列表表示的是线性结构,2个列表为平面结构,
其维度越高越复杂,代码执行效率也会越低,实际工作中是不会超过二维的。
"""
>>> list1=[1, 2, 520, 2]
>>> list1.append([40,60])
>>> print(list1)
[1, 2, 520, 2, [40, 60]]

#如果需要取40则可以通过先定位一维索引,然后在获取二位索引定位具体的值。
>>> list2=[1, 2, 520, 2, [40, 60]]
>>> print(list2[4][0])
40

#还可以使用extend(需要添加的列表)函数

4.列表删除元素

  • 删除元素
#使用remove方法只会删除列表列表中第一次出现的元素
>>> list2=[1, 2, 520, 2, [40, 60]]
>>> list2.remove(2)
>>> print(list2)
[1, 520, 2, [40, 60]]
#如果需要删除指定元素则可以通过索引删除
>>> list3=[1,100,3,100]
>>> del list3[3]
>>> print(list3)
[1, 100, 3]
  • 列表元素值得修改:直接通过索引进行赋值即可
>>> list4=[1,100,3,100]
>>> list4[3]=200
>>> print(list4)
[1, 100, 3, 200]
  • 列表的其他常用方法引用
    1)列表反转:reverse()
>>> list5=[1, 100, 3, 200]
>>> list5.reverse()
>>> print(list5)
[200, 3, 100, 1]

list1.clear> **区别反转的方法:reverse()和[::-1]

1.reverse()直接在当前列表内存中改变值的顺序;而[::-1]方法会开辟新的空间存储反转后的值
2.reverse()是不会返回值的,所以赋值的变量值会是none,而[::-1]返回的就是一个反转的列表。**

5.列表值清空
使用:clear()

>>> list1=[1,2,3,45]
>>> list1.clear()
>>> print(list1)
[]

6.列表排序
使用:sort() ,默认是升序

>>> list2=[5,65,1,2,67,874,3]
>>> list2.sort()
>>> print(list2)
[1, 2, 3, 5, 65, 67, 874]

6.获取列表的另外一个副本
可以使用:copy()

>>> list1=[1,2,3,43,3]
>>> list1.copy()
[1, 2, 3, 43, 3]

----------------------------------------------------分割线----------------------------------------------------

1.元组(tuple)

  • 声明与列表类似,只不过表现形式从方括号变成小括号了
  • 声明语法:元组变量名=(元素1,元素2,元素3,…)
  • 与列表的区别:元组的元素是不能被修改的
  • 元组与列表之间是可以相互转换。
#元组与列表之间是可以相互转换
>>> tuple1=(1,2,3,4)
>>> list1=list(tuple1)
>>> type(list1)
<class 'list'>

2.身份操作符

  • is 和 is not
  • 身份操作符主要是判断两个对象存储的内存地址是否一致
  • 如果需要获取对应变量的内存存储地址使用id(变量名)函数
  • 如果是基本数据类型(int,float,long)等其内存存储地址是一致的等价于==比较,其中2个等号比较的是2个变量的值。