水果搬运工教你玩Python之list

一,水果搬运工玩list

这次小明是一名搬运工,专门搬运水果的!(完整代码在文章最后面)

今天是小明入职的第一天,仓库的仓管说:“今天这一排有五个区域,从左往右数从0开始记录区域的数字,先不用问为什么这么记,待会就知道了”
小明照做,记下了这五个区域的序号( 索 引 , 下 标 \color{red}{索引,下标} ),不过看不清具体是什么水果,毕竟包装的都差不多
在这里插入图片描述
有人来拉货了,仓管说把2号区域的水果搬来一箱,小明照搬

cargo_area = [['红富士','红将军','金元帅'], '香蕉', '橘子', '葡萄', '西红柿']
print(cargo_area[2])
输出:
橘子

仓管说,没错,是橘子
仓管说:“把0号区域的第二块水果搬来,小明照做,一看是金元帅”

print(cargo_area[0][2])
输出:
金元帅

仓管:“小明,这次搬负一区域的水果一箱,不用算负零”
小明心想,好方法,倒着数就不用从0开始了,因为负零就是零,照搬不误

print(cargo_area[-1])
输出:
西红柿

仓管:“对的,是西红柿,小伙子理解挺好的”
中午吃过饭后,仓管:“小明,来确认下一到三号区域分别是不是香蕉,橘子,葡萄”
小明走过去查看,答道:“没错,是他们仨”

#注意取不到第四个索引
print(cargo_area[1:4])
输出:
['香蕉', '橘子', '葡萄']

搬着搬着就快要晚上下班了,小明觉得这份工作太简单了,于是自己也来确认下区域的水果

print(cargo_area[1:])
print(cargo_area[:3])
print(cargo_area[::])
输出:
[['红富士', '红将军', '金元帅'], '香蕉', '橘子']
[['红富士', '红将军', '金元帅'], '香蕉', '橘子', '葡萄', '西红柿']
[['红富士', '红将军', '金元帅'], '香蕉', '橘子', '葡萄', '西红柿', '柚子']

第二天,小明来仓库照常上班
仓管:“今天上午都是进货,小明准备好了吗?”
小明:“好了!”
不一会,就来了一批水果
仓管:“这是柚子,放到水果的尾端”
小明用了 a p p e n d ( ) \color{red}{append()} append()的方法

cargo_area.append("柚子")
print(cargo_area)
输出:
[['红富士', '红将军', '金元帅'], '香蕉', '橘子', '葡萄', '西红柿', '柚子']

小明刚搬完柚子,仓管:“快来快来,又到了一批水果,先搬石榴,然后是榴莲,最后搬芒果”
小明用 e x t e n d ( ) \color{red}{extend()} extend()方法

cargo_area.extend(["石榴","榴莲","芒果"])
print(cargo_area)
输出:
[['红富士', '红将军', '金元帅'], '香蕉', '橘子', '葡萄', '西红柿', '柚子', '石榴', '榴莲', '芒果']

仓管:“山竹终于来了,把它放在榴莲的右边吧,右边的水果 都右移一个区域”
小明先数了一下榴莲的位置,用 i n s e r t ( ) \color{red}{insert()} insert()方法

cargo_area.insert(8,"山竹")
print(cargo_area)
输出:
[['红富士', '红将军', '金元帅'], '香蕉', '橘子', '葡萄', '西红柿', '柚子', '石榴', '榴莲', '山竹', '芒果']

小明问:“一号区域的是芭蕉吧,要不要做个标记”
仓管:“对芭蕉,这么说更详细些”
小明做了个 索 引 替 换 \color{red}{索引替换}

cargo_area[1] = "芭蕉"
print(cargo_area)
输出:
[['红富士', '红将军', '金元帅'], '芭蕉', '橘子', '葡萄', '西红柿', '柚子', '石榴', '榴莲', '山竹', '芒果']

仓管:“唉!小明,来吃午饭吧,下午我们仓库开门,直接批发水果,中午好好休息!”
第二天下午,仓库开门了,仓库外面就是炎炎的烈日,好在小明不用出去搬水果
不一会,芒果,橘子和所有的苹果都买完了,小明为了方便,自己移动了水果的位置,反正自己记得
小明用了, p o p ( ) \color{red}{pop()} pop()的两种方法,和 r e m o v e ( ) \color{red}{remove()} remove()方法

cargo_area.pop()#移除列表最后一个元素
cargo_area.pop(0)#移除对应索引的元素
cargo_area.remove("橘子")#移除对应内容的元素
print(cargo_area)
输出:
['芭蕉', '葡萄', '西红柿', '柚子', '石榴', '榴莲', '山竹']

天快黑了,老板来了仓库:“都过来,今天这些水果在卖不出去明天可就更不好卖了,可以便宜点,今天要是都卖出去了,明天早上10天再来上班!”
仓管听到后,发朋友圈、微信群,只要是能推广到的地方都发了,果不其然刚过19点,水果都卖出去了
这时候就到了小明最喜欢的部分了,用 c l e a r ( ) \color{red}{clear()} clear()方法,一切从零开始!

cargo_area.clear()
print(cargo_area)
输出:
[]

二,List思维导图

在这里插入图片描述

三,完整代码

# -*- coding: utf-8 -*-
"""
Created on Sun Jan 19 10:02:36 2020

@author: HPN
"""


#小明入职第一天,熟悉下仓库放水果的区域
#老师傅说把2号区域的水果装车,小明从左往右数,第三号是这一堆,仔细一看是橘子,就都搬过去了

cargo_area = [['红富士','红将军','金元帅'], '香蕉', '橘子', '葡萄', '西红柿']





print(cargo_area[2])
#老师傅说把0号区域的第二块水果搬来,小明照做,一看是金元帅
print(cargo_area[0][2])
#老师傅又说了,把负一区域的水果搬来,小明一想,真好不用从前往后数了,接着照做
print(cargo_area[-1])
#老师傅说好了,休息会儿,确认下一到三号区域分别是不是香蕉,橘子,葡萄
print(cargo_area[1:4])
#马上下班了,小明闲来无聊,自己又确认了下货物区的水果
print(cargo_area[1:])
print(cargo_area[:3])
print(cargo_area[::])
'''.append()'''
#到货柚子,直接放在货物区的最后面
cargo_area.append("柚子")
print(cargo_area)

#一下到了石榴,榴莲,芒果,就想继续用append方法,直接放进去好了
cargo_area.append(["石榴","榴莲","芒果"])
print(cargo_area)
#结果一看全都放在一起了,应该分开放,请教了一下老搬运工先把水果拿开,用extend方法
cargo_area.pop()
print(cargo_area)

#分开将石榴,榴莲,芒果三种水果放到三个区域
cargo_area.extend(["石榴","榴莲","芒果"])
print(cargo_area)

#老搬运工说要把新到的山竹放在榴莲的右边,用insert()方法
cargo_area.insert(8,"山竹")
print(cargo_area)

#店铺开张了,发现把苹果写成红富士更吸引人,用索引修改
cargo_area[1] = "芭蕉"
print(cargo_area)

#先是有人把芒果全买了,用pop()方法删除芒果的位置
cargo_area.pop()
print(cargo_area)

#接着,因为苹果(红富士)和橘子看着很新鲜,苹果(红富士)和橘子也卖完了,老师傅说,可以用pop加索引或者remove加索引的方法删除
cargo_area.pop(0)
cargo_area.remove("橘子")
print(cargo_area)

#很快,忙碌的一天就要过去了,在傍晚的时候,老板说,今天在卖不出去,明天就不新鲜了,赶紧都便宜卖了吧,
cargo_area.clear()
print(cargo_area)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值