列表(list) ==>[ ]
参考
列表(list)是最重要的Python内置对象之一,是包含若干元素的有序连续内存空间。当列表增加或删除元素时,列表对象自动进行内存的扩展或收缩,从而保证相邻元素之间没有缝隙。Python列表的这个内存自动管理功能可以大幅度减少程序员的负担,但插入和删除非尾部元素时涉及到列表中大量元素的移动,会严重影响效率。
在非尾部位置插入和删除元素时会改变该位置后面的元素在列表中的索引,这对于某些操作可能会导致意外的错误结果。
除非确实有必要,否则应尽量从列表尾部进行元素的追加与删除操作。
在Python中,同一个列表中元素的数据类型可以各不相同,可以同时包含整数、实数、字符串等基本类型的元素,也可以包含列表、元组、字典、集合、函数以及其他任意对象。如果只有一对方括号而没有任何元素则表示空列表。
- 有序性:切片,索引
- 可变性:增,删,改,查
定义列表
x = [10, 20, 30, 40]
print(type(x)) #type函数用于检查一个变量的类型
创建空列表
法一:
x = list() #创建空列表
x
法二:
y=[] #创建空列表
type(y)
除了可以直接用成对的方括号创建列表以外,还可以:
使用list()函数把元组、range对象、字符串、字典、集合或其他可迭代对象转换为列表。
list('hello world') #将字符串转换为列表
list((3,5,7,9,11)) #将元组转换为列表, 圆括号中是元组
list(range(1, 10, 2)) #将range对象转换为列表, range
list({'a':3, 'b':9, 'c':78}) #将字典的“键”转换为列表
list({'a':3, 'b':9, 'c':78}.items()) #将字典的“键:值”对转换为列表, 列表的每一个元素是一个元组==>[('a', 3), ('b', 9), ('c', 78)]
range的用法和字符串的切片是一致的,是一个半开区间,包括头,不包括尾,所以range(0,5,1)会产生0,1,2,3,4五个数。 如果步长为1(一般的循环都是1),可以省略第三个步长参数,比如range(0,5) 而如果起始值从0开始(一般的循环都是这样),就可以省略头,比如range(5)
for i in range(0,5):
print(i)
- 有序性:切片,索引
索引
a='Python'
x = list(a)
print(x) #['P', 'y', 't', 'h', 'o', 'n']
print(x[0]) #P
print(x[-1]) #n
print(a[0]) #P
print(a[-1]) #n
x = [60,80,76,90,35,28]
print(x[1:3]) #[80,76]
print(x[::-1]) #[28,35,90,76,80,60]
print(max(x)) #90
print(min(x)) #28
print(x+[65,72,35]) #[60,80,76,90,35,28,65,72,35] ==>使用+来合并其他列表
print(x*3) #[60,80,76,90,35,28,60,80,76,90,35,28,60,80,76,90,35,28] ===>使用*来复制成员
print(len(x)) #6
sum(x)/len(x) #61.5 ===>平均分
- 连续性:增,删,改,查
增
添加的不同函数:
在尾部添加
append(x):将参数中的数组作为一个元素添加
extend(x,y,z):将参数中的数组作为多个元素添加
insert(索引号,元素:第一个参数为目标位置,第二个参数为添加的元素【在任意位置添加】
x = [1, 2, 3]
x.append(4) #[1, 2, 3, 4] ==>在尾部追加元素
x.append([5,6]) #[1, 2, 3, 4, [5, 6]]
x.extend([7,8]) #[1, 2, 3, 4, [5, 6], 7, 8] ==>在尾部追加多个元素
x+[9,10] #[1, 2, 3, 4, [5, 6], 7, 8, 9, 10]
x+=