声明一个List
lista=["hilary","mike",1,2,3,4,6.1,7,8]
print(lista)
List(长度为n)的下标
从左至右分别为[0,1,2...,n-1]
从右至左分别为[-n,-(n-1)...,-3,-2,-1]
对于lista而言,其对应的下标如下:
["hilary","mike", 1, 2, 3, 4, 6.1, 7, 8]
( 0, 1, 2, 3, 4, 5, 6, 7, 8)
( -9, -8, -7, -6, -5, -4, -3, -2, -1)
读取List可以这样写
print(lista[1])
# mike
print(lista[2:6])
# [1, 2, 3, 4] 下标从2开始到6结束但不包含下标6
print(lista[3:])
# [2, 3, 4, 6.1, 7, 8]
print(lista[:-1])
# ['hilary', 'mike', 1, 2, 3, 4, 6.1, 7]
# 注意与上一个的区别:lista[3:]是列出下标为3及其之后的元素,lista[:-1]是列出下标为-1之前的元素
print(lista[1:-4])
# ['mike', 1, 2, 3]
print(lista[3::])
# [2, 3, 4, 6.1, 7, 8] 从下标3开始到末尾
print(lista[3::2])
# [2, 4, 7] 下标3开始间隔2取值,即下标为3,5,7,
print(lista[::2])
# ['hilary', 1, 3, 6.1, 8] 下标0开始间隔2取值,即下标为0,2,4,6,8
print(lista[::-1])
# [8, 7, 6.1, 4, 3, 2, 1, 'mike', 'hilary'] 下标-1开始间隔-1取值,即下标为-1,-2,-3...
print(lista[::-2])
# [8, 6.1, 3, 1, 'hilary'] 下标-1开始间隔-2取值,即下标为-1,-3,-5,-7,-9
print(lista[-3::2])
# [6.1, 8] 下标-3开始间隔2取值,即下标为-3,-1
print(lista[-3::-2])
# [6.1, 3, 1, 'hilary'] 下标-3开始间隔-2取值,即下标为-3,-5,-7,-9
List的函数与方法(摘自www.runoob.com)
cmp(list1, list2) # 比较两个列表的元素
len(list) # 列表元素个数
max(list) # 返回列表元素最大值
min(list) # 返回列表元素最小值
list(seq) # 将元组转换为列表
list.append(obj)
#在列表末尾添加新的对象
list.count(obj)
#统计某个元素在列表中出现的次数
list.extend(seq)
#在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.index(obj)
#从列表中找出某个值第一个匹配项的索引位置
list.insert(index, obj)
#将对象插入列表
list.pop(obj=list[-1])
#移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj)
#移除列表中某个值的第一个匹配项
list.reverse()
#反向列表中元素
list.sort([func])
#对原列表进行排序
del(lista[0])
print(lista)
# ['mike', 1, 2, 3, 4, 6.1, 7, 8]
其中:
对于整型和浮点型构成的列表可以用sort()排序,默认升序。降序排序可以添加参数 reverse=True。例如
import random
lista=list(range(10))
random.shuffle(lista) #打乱
print(lista)
lista.sort() #升序排序
print(lista)
lista.sort(reverse=True) #降序排序
print(lista)
对于字符串构成的列表同样可以用sort()排序,默认是按ASCII升序排列。若按字典序排序,可以添加参数 key=str.lower ,即忽略字母大写。例如
listb=['q','Q','aa','Ab','B','t','printa','Pop','Printb']
listb.sort() #ASCII升序
# ['Ab', 'B', 'Pop', 'Printb', 'Q', 'aa', 'printa', 'q', 't']
print(listb)
listb.sort(key=str.lower,reverse=True) #字典序降序
print(listb)
# ['t', 'Q', 'q', 'Printb', 'printa', 'Pop', 'B', 'Ab', 'aa']
List操作符
listb=['A','B','C','D']
print(lista+listb)
# ['hilary', 'mike', 1, 2, 3, 4, 6.1, 7, 8, 'A', 'B', 'C', 'D']
print(listb*3)
# ['A', 'B', 'C', 'D', 'A', 'B', 'C', 'D', 'A', 'B', 'C', 'D']
print('hilary'in lista)
# True
for x in listb : print(x)
# A B C D
二维List
#建立二维List
rows,cols=3,4
list_2d = [[0 for col in range(cols)] for row in range(rows)]
#for循环赋值
k=0
for i in range(rows):
for j in range(cols):
list_2d[i][j]=k
k+=1
#i=j=k=0
# for x in list_2d:
# j=0
# for y in x:
# list_2d[i][j]=k
# k+=1
# j+=1
# i+=1
print(list_2d)