修改、添加、删除元素
def list_practice():
#索引从0开始,列表中的元素类型可以不一样
a = [0, 1, 2, "are", "you", "ok"]
print(a)
print(a[-1]) #访问倒数第一个元素
print(a[-2]) #访问倒数第二个元素
#元素修改
a[0] = 5
print(a)
#添加元素 .append() .extend()
a.append("!")
print(a)
b = ["lei", "jun"]
a.append(b) #把b当成一个元素,添加 [5, 1, 2, 'are', 'you', 'ok', '!', ['lei', 'jun']]
print(a)
a.extend(b) #把b中的每一元素添加, [5, 1, 2, 'are', 'you', 'ok', '!', ['lei', 'jun'], 'lei', 'jun']
print(a)
#插入元素 insert
#.insert() 在index处添加空间,并将value存储到这个地方。 这种操作将列表中既有的每个元素都右移一个位置
a.insert(1, -1) #.insert(self, index, value) [5, -1, 1, 2, 'are', 'you', 'ok', '!', ['lei', 'jun'], 'lei', 'jun']
print(a)
a.insert(-1, 100) #[5, -1, 1, 2, 'are', 'you', 'ok', '!', ['lei', 'jun'], 'lei', 100, 'jun']
print(a)
#删除元素del
del a[0]
print(a) #[-1, 1, 2, 'are', 'you', 'ok', '!', ['lei', 'jun'], 'lei', 100, 'jun']
#.pop() #弹出列表最后一个元素(或者任意位置)
c = a.pop()
print(c) #jun
print(a) #[-1, 1, 2, 'are', 'you', 'ok', '!', ['lei', 'jun'], 'lei', 100]
c = a.pop(0)
print(c) #-1
print(a) #[1, 2, 'are', 'you', 'ok', '!', ['lei', 'jun'], 'lei', 100]
#使用.remove()删除 (可以根据值删除) .remove() 只删除 第一个 指定的值
a.remove(['lei', 'jun'])
print(a) #[1, 2, 'are', 'you', 'ok', '!', 'lei', 100]
a = [1, 2, 3]
b = [4, 5, 6]
c = []#创建一个空列表
c.append(a)
c.append(b)
print(c) #[[1, 2, 3], [4, 5, 6]]
if __name__ == "__main__":
list_practice()
组织列表
.sort()
sorted(list)
len(list)
.reverse
def orgainization():
cars = ['bmw', 'audi', 'toyota', 'subaru']
#.sort()排序列表:reverse = False(默认)从小到大, reverse = True从大到小
#该排序是不可恢复的
cars.sort()
print(cars)
cars = ['bmw', 'audi', 'toyota', 'subaru']
#sorted() 临时排序
c = sorted(cars)
print(c)
print(cars)
#反转list .reverse()
cars.reverse()
print(cars)
#求表长度 len()
print(len(cars)) # 4
a = [[1, 2, 3], [4, 5, 6]]
print(len(a)) # 2
操作列表
遍历列表
切片
列表解析
列表的深复制与浅复制
def orgainization():
cars = ['bmw', 'audi', 'toyota', 'subaru']
#.sort()排序列表:reverse = False(默认)从小到大, reverse = True从大到小
#该排序是不可恢复的
cars.sort()
print(cars)
cars = ['bmw', 'audi', 'toyota', 'subaru']
#sorted() 临时排序
c = sorted(cars)
print(c)
print(cars)
#反转list .reverse()
cars.reverse()
print(cars)
#求表长度 len()
print(len(cars)) # 4
a = [[1, 2, 3], [4, 5, 6]]
print(len(a)) # 2
def operate_list():
#遍历链表
magicians = ['alice', 'david', 'carolina']
for magician in magicians:
print(magician)
for i in range(len(magicians)):
print(magicians[i])
#.range(start, end, step)
for i in range(1, 5): #[1, 2, 3, 4]
print(i)
#指定range的步长
number = list(range(2, 10, 2)) #[2, 4, 6, 8]
print(number)
print(min(number))
print(max(number))
print(sum(number))
#列表解析
squares = [value**2 for value in range(1, 11)]
print(squares) #[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
#二维列表的第二列
a = [[1, 2, 3], [4, 5, 6]]
b = [x[1] for x in a]
print(b) # 2, 5]
#转置a
b = []
for i in range(len(a[0])):
tmp = [x[i] for x in a]
b.append(tmp)
print(b) # [[1, 4], [2, 5], [3, 6]]
#切片 (不包含最后一个)
players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[0:3]) #['charles', 'martina', 'michael']
print(players[:4]) #没有指定起始位置,将从第一个开始 ['charles', 'martina', 'michael', 'florence']
print(players[-3:]) #输出最后三个 ['michael', 'florence', 'eli']
print(players[-1: 0: -1]) #['eli', 'florence', 'michael', 'martina']
print(players[-1: 2: -1]) #['eli', 'florence']
#二维列表: 需要把每一行看做是一个元素
a = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
print(a[:2]) #[[1, 2, 3], [4, 5, 6]]
#深复制与浅复制
a = [1, 2, 3]
b = a; #b和a同时指向同一片内存,b相当于a的别名
b.append(4)
print(a) #[1, 2, 3, 4]
print(b) #[1, 2, 3, 4]
a = [1, 2, 3]
b = a[:] #把a的一份拷贝给b
b.append(4)
print(a) #[1, 2, 3]
print(b) #[1, 2, 3, 4]
#元组 不可变的列表
a = (1, 2, "a", "b") #使用圆括号定义元组
print(a) #(1, 2, 'a', 'b')
版权声明:本文为cxq_baby原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。