列表是什么

list 是一些元素按照一定顺序排列的元素集合
序列是 Python 中最基本的数据结构。

序列中的每个值都有对应的位置值,称之为索引,第一个索引是 0,第二个索引是 1,依此类推。

Python 有 6 个序列的内置类型,但最常见的是列表和元组。

列表都可以进行的操作包括索引,切片,加,乘,检查成员。

此外,Python 已经内置确定序列的长度以及确定最大和最小的元素的方法。

列表是最常用的 Python 数据类型,它可以作为一个方括号内的逗号分隔值出现。

列表的数据项不需要具有相同的类型

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。

  • 与之相类似的还有元组,有关元组的与list 的区别下一节会详细比对解释
list1=['asdasd',1.2,1,'asddasd']
list = ['red', 'green', 'blue', 'yellow', 'white', 'black']

访问列表中的值

与字符串的索引一样,列表索引从 0 开始,第二个索引是 1,依此类推。
通过索引列表可以进行截取、组合等操作。
就和字符串里面的一样
image

list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print( list[0] )
print( list[1] )
print( list[2] )

索引也可以从尾部开始,最后一个元素的索引为 -1,往前一位为 -2,以此类推

list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print( list[-1] )
print( list[-2] )
print( list[-3] )

通过截取访问

image

list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
#输出一整个串
print(list[:])

print(list[1:-1])

不要忘记截取的左闭右开特性

更新列表

你可以对列表的数据项进行修改或更新,你也可以使用 append() 等py所提供的方法来添加列表项,如下所示:

list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
list[1]='brown'
print(list)
list[1:]=['brown','red','black']
print(list)

本质:

list[:]=[]#用空list去赋值(替换)原list相当于是删除
#赋值方式更新列表的本质是用新写的字符串去覆盖原字符串,从指定位置开始替换
print(list)

删除操作

可以使用 del 语句来删除列表的的元素,如下实例:

list = ['xuexi', 'bo', 1997, 2000]

del list[2]
print (list)
del list[:] #指定长度切片删除 是一整个字符串完全被删除
print(list)

这里还有一个需要注意的,一个容易犯的错误,一个语句被执行一次之后,就会把原先的变量的值给修改了,在加上循环时就容易出现不符合自己预期结果的bug

for i in range(10):
	del list[2]
	print (list)

Python列表脚本操作符

Python 表达式 Python 表达式
len([1, 2, 3]) 长度
[1, 2, 3] + [4, 5, 6] 组合
['Hi!'] * 4 重复
for x in [1, 2, 3]: print(x, end=" ") 迭代
  • 有关迭代的具体用法会在循环时具体讲解
list=['hello',1,1.0]
list1=['world',1,1.0]
print(list+list1)

print(list*2+list1*2)

print(len(list))

list2=list+list1
print(list[0].title()," ",list1[0].title())#这样输出想要的字符串
#list里面的值是string类型所以可以用string变量自带的操作方法

嵌套列表

就和多维数组极其相似,但我们可以让每个运用不限制:列表内的值不必是同种类型的特点。
使用时就当按数组的习惯去使用

list=['hello',1,1.0]
list1=['world',1,1.0]
list2=[list,list1]
print(list2[0][1:])
#list2[0]就相当于是list这个变量

函数方法

  • 函数:

List len()函数

len() 方法返回列表元素个数。

len(list)

list1 = ['Google', 'hao', 'Taobao']
print (len(list1))
list2=list(range(5)) # 创建一个 0-4 的列表
print (len(list2))

List max()函数

max() 方法返回列表元素中的最大值。

max(list)

a=[1,13,213123123,123]
print(max(a))

List min()函数

min(list)

a=[1,13,213123123,123]
print(min(a))
  • 以下方法:

List append()方法

append() 方法用于在列表末尾添加新的对象。

语法

list.append()

list1=[1]
list1.append(9)
print(list1)
list1.append(10)
print(list1)

List pop()方法

pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。

语法

list.pop(index)

list1=[1]
list1.append(9)
print(list1)
list1.append(10)
print(list1)
p_1=list1.pop(0)
print(p_1)
print(list1)

可见是从最后一个增加的开始弹出的,就和栈一样,后进先出

List remove()方法

remove() 函数用于移除列表中某个值的第一个匹配项。(自动寻找)
语法

list.remove(obj)

motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati'] 
print(motorcycles) 
motorcycles.remove('yamaha')
print(motorcycles)

List sort()方法

永久排序一个列表内的值
语法

list.sort()

list1=[123123,2,45123123123123123123,667,999]
list1.sort()
print(list1)
motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati','A']
motorcycles.sort()
print(motorcycles)
  • 降序排序
    里面加个参数:
    reverse=True
motorcycles.sort(reverse=True)
print(motorcycles)

List reverse()方法

reverse() 函数用于反向列表中元素。
语法

list.reverse()

motorcycles.reverse()
print(motorcycles)