python的列表就像数组
定义列表:
lists = ['1','2','3']
lists = [['1','2'],['3','4'],'5']
定义一个空列表
lists = []
访问列表中的元素
# 索引从0开始
print (lists[0])
访问列表最后一个元素
lists[-1]
访问列表倒数第二个元素
lists[-2]
以此类推
列表中添加元素
lists.append('4')
列表中插入元素
lists.insert(0,'0')
列表中删除元素
根据位置删除元素
del lists[0]
方法pop()可以删除列表末尾的元素,并让你能接着使用它
lists = ['1','2','3']
n = lists.pop()
print (n)
也可以传入位置,使用pop删除指定位置的元素
lists.pop(1)
根据元素值删除元素
lists.remove('1')
方法remove()只能删除第一次出现的值
对列表进行排序
永久排序,会改变原列表的顺序
lists.sort()
lists.sort(reverse=True) #注意,这里的True区分大小写!!! reverse=True表示倒序排
临时排序,不会改变原列表的顺序
sorted(lists)
print(sorted(lists,reverse=True))
反转列表(让列表与现有顺序相反,而不是排序),永久修改
lists.reverse()
列表长度
len(lists)
遍历列表
for v in lists:
print (v)
# !!!注意,这里的print前面必须要有缩进!!!是循环的语法!!!
数值列表range()
for i in range(1,4):
print(i)
注意,range(1,4)里面只包含1,2,3
使用函数list()直接将range()的结果转成列表
lists = list(range(1,4))
使用range()时还可以指定步长,如下,获取1~10内的偶数
lists = list(range(2,11,2))
处理数值列表的函数:
digits = [1,2,3,4]
print(max(digits))
print(min(digits))
print(sum(digits)) #注意,前两个函数数字上都可以带单引号'',但这个函数不能带
将1~9的平方放到一个列表里
普通方法:
lists=[]
for i in range(1,10):
lists.append(i**2)
print(lists)
列表解析方法:
lists1=[i**2 for i in range(1,10)]
print(lists1)
列表切分
打印列表的第1~3个数据:print(lists[0:3])
打印列表的第2~10个数据:print(lists[1:10])
若没有指定起始位置,则从第一个开始:print(lists[:4])
若不指定结束位置,则一直到列表结束:print(lists[2:])
也可以指定负数:print(lists[-3:])
也可以首尾都不指定:print(lists[:]) 等同于 print(lists)
复制列表
要复制列表,可创建一个包含整个列表的切片,方法是同时省略起始和终止索引[:]
如:lists1 = lists[:]
此时lists1和lists是两个独立的列表,修改任何一个,不会对另一个造成影响;
若直接lists1 = lists,此时lists1和lists其实共用相同的列表数据
检查特定的元素是否在列表中:
if '1' in lists:
print('true')
else:
print('false')
if '1' not in lists:
列表去重:
使用set()方法
lists = ['1','2','3','1']
print(set(lists))
#不会改变原有列表
元组:
一般来说,列表中的元素都是可以修改的。python将不能修改的值称为不可变的,而不可变的列表称为元组。
元组看起来犹如列表,但是使用圆括号,而不是方括号进行标识。定义元组后,可以使用索引来访问其元素,就像访问列表元素一样。
如:lists = (1,2,3)
print lists[0]
虽然不能修改元组中的元素,但是可以给存储元组的变量赋值,如:
lists = (1,2)
lists = (3,4)