"""
list列表:
1.元素可修改
2.可存放多种元素
a_list=[]
b_list=[10,20,30]
c_list=["aaa","bbb","ccc"]
#列表中可以放另外一个列表
d_list=[[1,2.3],[2,3,4]]
#列表可以存放不同类型的元素
e_list=["aaa","bbb",10,20,[1,2,3]]
#一般情况下:列表中存放相同类型的元素
"""
#列表的遍历
my_list=[20,50,45,12]
print(my_list[0],my_list[2])
print(my_list[:2])
运行结果:
print("使用while循环")
i=0
while i<len(my_list):
print(my_list[i],end=" ")
i+=1
print()
print("使用for循环")
for v in my_list:
print(v,end=" ")
运行结果:
break、continue 也可以在循环中使用
l_list=[[12,24,32],[42,23,64],[52,43,54]]
i=0
print("使用while循环遍历")
while i<len(l_list):
j=0
while j<len(l_list[i]):
print(l_list[i][j],end=" ")
j+=1
i+=1
print()
print("使用for循环遍历")
for m in l_list:
for n in m:
print (n,end=" ")
运行结果:
列表:
"""
1.插入:
指定位置插入;(元素越多,效率较低)
尾部位置插入元素。(对于列表,尾部插入效率高,不需要移动元素)
2.删除:
位置删除:指定位置删除、尾部位置删除,
值删除
缺点:1.根据关键字查找效率低
2.根据索引查找效率高
3.函数:
append()追加:尾部插入
insert()插入:指定位置插入
"""
#删除元素:值删除、位置删除
# pop方法:位置删除,默认删除最后一个位置。若指定位置,则删除指定位置的元素
#remove 移除,根据值来删除;默认删除第一次出现的值
#del()删除某一元素my_list.del(10)
#clear() 清空
my_list=[]
my_list.append(10)
my_list.append(20)
my_list.append(30)
print("1. ",my_list)
my_list.insert(1,21) #在索引为1的位置插入21
print("2. ",my_list)
my_list.pop()
print("3. ",my_list)
my_list.pop(1)
print("4. ",my_list)
my_list.remove(10)
print("5. ",my_list)
my_list.clear()
print("6. ",len(my_list))
运行结果:
sort():排序默认从小到大排,升序排序
#排序默认从大到小排,降序排序
my_list.sort(reverse=True) #reverse参数默认为false。
reverse()函数:逆序
#创建包含10个随机数的列表
import random
my_list=[]
i=0
while i<10:
random_num=random.randint(1,100) #生成10个随机数
my_list.append(random_num)
i+=1
print("排序之前:")
print(my_list)
my_list.sort()
print("排序之后:")
print(my_list)
my_list.sort(reverse=True) #reverse参数默认为false。
print(my_list)
my_list.reverse()
print("reverse()逆序:")
print(my_list)
运行结果:
index()查找
extend(): 后面的列表追加到前面的列表中
my_list=[11,20,51,26,41]
sec_list=["aaa","abc","bbb"]
pos=my_list.index(51) #查询51的位置,返回索引值
print(pos)
if 60 in my_list:
pos = my_list.index(60) # 查询60的位置,返回索引值
print("存在")
else:
print("不存在")
#extend(): 后面的列表追加到前面的列表中
print(my_list)
my_list.extend(sec_list)
print(my_list)
运行结果:
练习:
#分配案例:8个数随机分配到3个盒子
import random
box=[[],[],[]]
def creat_nums():
num_list = [] #局部变量
i = 1
while i <= 8:
num_name = "No.name" + str(i)
num_list.append(num_name)
i += 1
#print(num_list)#打印结果
return num_list #返回局部变量
#num_list外部定义的变量
num_list=creat_nums() #调用creat_nums()
# print(id(num_list))
# num_list1=creat_nums() #第二次调用
# print(id(num_list1))
for n_list in num_list:
box_num=random.randint(0,2)
box[box_num].append(n_list)
for print_box in box:
for n in print_box:
print(n,end=" ")
print()
运行结果: