列表的一些方法:
list.append(obj) : 作用: 将某元素添加在列表的最后 参数:所有类型(无论什么类型,都按照 原类型将其添加) 无返回值
demo = [1,2,3]
demo.append([4,5,6])
print(demo)
结果:
[1,2,3,[4,5,6]]
list.extend(obj) : 作用:在列表的末尾将新元素添加
demo = [1,2,3]
demo.extend([4,5,6])
print(demo)
结果:
[1,2,3,4,5,6]
list.insert(index , object) : 作用:在指定位置添加某元素(该元素的索引则是指定位置的索引值) 无返回值
注意:当index大于实际列表的索引时,则会将该元素添加到列表的末尾,并不会抛出错误
demo = [1,2,3,4]
demo.insert(0 , 'demo')
print(demo)
结果:
['demo', 1 ,2, 3, 4]
list.pop(index) : 作用 : 移除指定索引的元素,并返回该元素(如index为空,则移除最后一个) 返回值:被移除元素的类型
list.popleft(): 作用 :从左边开始移除指定索引的元素,并返回该元素(如index为空,则移除第一个)
注意:当Index大于实际列表的索引时,则会抛出越界错误 IndexError: pop index out of range
popleft() 方法必须导入 from collections import deque ,必须使用 deque()方法创建列表
demo = [1,2,3]
demo_ = demo.pop(1)
print(demo)
print(demo_)
结果:
[1,3]
2
from collections import deque
# popleft
demo = deque([1,2,3])
count = 0
all_count = len(demo)
while count < all_count:
print(demo.popleft())
count += 1
结果:
1 2 3
list.sort() : 作用:对列表进行排序 参数:reverse (默认是False--升序,,如果为True---降序) 无返回值
list.reverse() : 作用 :将列表元素倒序输出,但并不会进行排序 无参 无返回值
列表作为堆栈使用
实现弹栈(先进的后出)
def resavea():
demo = input("请输入内容:")
demo_2 = list(demo)
num = 0
demo_2_length = len(demo_2)
while num < demo_2_length:
print(demo_2.pop(), end=", ")
num += 1
实现队列(先进先出)
def demo2():
demo = [1,2,3]
count = 0
all_count = len(demo)
while count < all_count :
print(demo[0])
demo.remove(demo[0])
count += 1
列表推导式
简单的说就是,对每一个元素进行一些操作(加减乘除,if,while,),最后组成新的列表
demo = [1,2,3]
new_demo = [de*2 for de in demo ]
new_demo2 = [de*2 for de in demo if de >= 2] #会去先判断每个de满不满足条件,满足才输出
old_demo = [[de*2,de] for de in demo]
print(new_demo)
print(new_demo2)
print(old_demo)
结果:
[2,4,6]
[4, 6]
[[2, 1], [4, 2], [6, 3]]
demo = [1,2,3]
demo2 = [4,5,6]
new_demo = [x*y for x in demo for y in demo2]
print(new_demo)
# 等同于:
demo3 = []
for x in demo:
for y in demo2:
a = x * y
demo3.append(a)
print(demo3)
结果:
[4, 5, 6, 8, 10, 12, 12, 15, 18]
[4, 5, 6, 8, 10, 12, 12, 15, 18]
元组:
元素不能修改
集合:
无序,不重复,
首次创建集合 必须使用 set()