Python自动化运维开发----基础(六)列表的应用

1.列表的应用

(1)队列

 特点: 先进先出

 使用场景: 银行排队,库存,秒杀,排队取餐,callcenter

 append() + pop(0)

(2)堆栈

 特点: 先进后出

 使用场景: 出电梯

 append() + pop()

2.案列

eg1:  做一个任务列表,使用队列方式,先进先出的方式,当用户输入do的时候开始做任务并弹出做的任务

注意:使用先进先出的原则 使用 列表的pop函数 每次都是先删除pop(0)

#!/usr/bin/python
task = []
while True:
    task_name = input("请输入你要输入的任务名称:")
    if task_name == "do":
        if len(task) == 0:
            print("任务为空,退出程序")
            break
        else:
            print(task.pop(0))
    else:
        task.append(task_name)

执行结果

image.png

eg2: 去求两个列表的交集,并且去重

注:使用了判断某一个元素是否在列表中的方法

#!/usr/bin/python
num1 = [1,3,5,6,3]
num2 = [3,5,3]
num3 = []
for i in num1:
    if i in num2:
      if i not in num3:
          num3.append(i)
print(num3)

执行结果:

image.png

eg3: 给一个列表做一个排序,让最大的数字放在最后

注:需要一个中间变量存大的那个然后在做交换

#!/usr/bin/python
num = [1,6,4,5,10]
i = 0
j = 1
while j < len(num):
    if num[i] > num[j]:
        z = num[i]
        num[i] = num[j]
        num[j] = z
        i += 1
        j += 1
    else:
        z = num[j]
        i += 1
        j += 1
print(num)

执行结果:

image.png

猜你喜欢

转载自blog.51cto.com/12217124/2335047