Python笔记-005- 列表简介

1.3.1 列表是什么

bicycles= ['James','Paul','Wade',' Anthony']
print(bicycles)

这里写图片描述

这个跟C的数组相似第一位为0。

bicycles= ['James','Paul','Wade',' Anthony']
print(bicycles[0])    # 0:James 1:Paul 2:Wade  3: Anthony

这样就是输出第一个数字的元素,James

注:介绍一种比较特殊的语法,通过索引指定为-1,可以让Python返回最后一个列表元素:

bicycles= ['James','Paul','Wade',' Anthony']
print(bicycles[-1])  # 0:James 1:Paul 2:Wade  3: Anthony

这里写图片描述
这样子方便在于我们不知道列表长度的情况下直接访问最后的元素,也适用于其他负数索引。

有了索引我们可以使用列表中的各个值

bicycles= ['James','Paul','Wade',' Anthony']
message="My favorite NBA star is "+bicycles[0]+"."
print(message)

动手试一试环节
3-1 姓名: 将一些朋友的姓名存储在一个列表中,并将其命名为 names 。
依次访问该列表中的每个元素,从而将每个朋友的姓名都打印出来。

bicycles= ['Ludan','Aya','Feiji','Dang']
print(bicycles[0])
print(bicycles[1])
print(bicycles[2])
print(bicycles[3])

3-2 问候语: 继续使用练习3-1中的列表, 但不打印每个朋友的姓名, 而为每人打印一条消息。 每条消息都包含相同的问候语, 但抬头为相应朋友的姓名

bicycles= ['Ludan','Aya','Feiji','Dang']
print(bicycles[0]+' How are you?')
print(bicycles[1]+' How old are you?')
print(bicycles[2]+' How old old are you?')
print(bicycles[3]+' How old old old are you?')

1.3.2 修改,增加和删除元素
上面的列表式静态的,很显然不实用,如果我们想要弄成动态的,应该怎么处理呢?
(1)修改索引元素

bicycles= ['James','Paul','Wade',' Anthony']
message="My favorite NBA star is "+bicycles[0]+"."
print(bicycles)
print(message)
bicycles[0] = 'Lebron_James'
message="My favorite NBA star is "+bicycles[0]+"."
print(bicycles)
print(message)

这里写图片描述
(2)在列表末尾添加元素

bicycles= ['James','Paul','Wade',' Anthony']
bicycles.append('Messi')
print(bicycles)

这里写图片描述
记:append()函数的存在让动态创建列表易如反掌。
我们可以先建立一个空列表
比如下面代码:

nbastar= []
nbastar.append('James')
nbastar.append('Messi')
nbastar.append('Wade')
nbastar.append('Me')

print(nbastar)

这里写图片描述

(3)在列表中添加元素

nbastar= []
nbastar.append('James')
nbastar.append('Messi')
nbastar.append('Wade')
nbastar.append('Me')
print(nbastar)
nbastar.insert(0,'Lebron')
nbastar.insert(3,'Paul')
print(nbastar)

这里写图片描述

(4)在列表中删除元素
既然有添加元素,那么就一定会有删除元素的函数,这个函数是什么?
方法1:使用del语句删除元素

bicycles= ['James','Paul','Wade',' Anthony']
print(bicycles)
del bicycles[0]
print(bicycles)

这里写图片描述
方法2:使用方法pop()删除元素

bicycles= ['James','Paul','Wade',' Anthony']
print(bicycles)

popped_bicycles=bicycles.pop()
print(bicycles)
print(popped_bicycles)

这里写图片描述
pop()是删除列表末尾的元素,并且能让你使用它的值。
这个应该应用在哪个场景多一点呢?
假如列表中是按年龄从小到大排序的,那么就可以使用pop()打印出年龄最大的人
别忘了的,当你使用pop()的时候,元素就没在列表中了~!

注:del()跟pop()应该怎么区分好呢?
如果你要从列表中删除一个元素,并且不再使用它的话,那么选择 del();
如果你想要删除元素后还想继续使用它的话,那么选择pop()

(5)根据值删除元素
不知道元素在列表中的那里,但是只要你知道你要删除的值是什么,就可以删除。

bicycles= ['James','Paul','Wade','Anthony']
print(bicycles)
bicycles.remove('Anthony')
print(bicycles)

这里写图片描述
但是看到这里肯定会有一个疑问:
如果我的列表里面存了很多个一样的数值,我刚好要删除它,是一次性删除?还是只删除一个?
答案是:只删除第一个指定的值,如果删除的值可能在列表中出现多次,就需要用循环判断是否删除了所有的这样的值。接下去学习 我们会接触得到的~~

动手练一练
3-4 如果你可以邀请任何一个人一起共进晚餐,你会邀请哪些人,列一个列表,其中包含至少3个你想要邀请的人,然后使用这个列表打印信息,邀请这些人来共进晚餐

dinnerpeople=['Lebron James','Li Jiacheng','Jack Ma']
print('Hello '+dinnerpeople[0]+',I hope to have dinner with you together.')
print('Hello '+dinnerpeople[1]+',I hope to have dinner with you together.')
print('Hello '+dinnerpeople[2]+',I hope to have dinner with you together.')

这里写图片描述

3-5修改嘉宾
你刚得知有位嘉宾无法赴约,因此需要邀请另外一位嘉宾。
(1)在3-4基础上,在程序末尾添加一个print语句,指出哪位不能赴约

dinnerpeople=['Lebron James','Li Jiacheng','Jack Ma']
print('Hello '+dinnerpeople[0]+',I hope to have dinner with you together.')
print('Hello '+dinnerpeople[1]+',I hope to have dinner with you together.')
print('Hello '+dinnerpeople[2]+',I hope to have dinner with you together.')
popped_dinnerpeople=dinnerpeople.pop()
print(dinnerpeople)
print(popped_dinnerpeople+',See you next time.')

这里写图片描述
(2)修改嘉宾名单,将无法赴约的嘉宾替换为新邀请的嘉宾姓名


dinnerpeople=['Lebron James','Li Jiacheng','Jack Ma']
print('Hello '+dinnerpeople[0]+',I hope to have dinner with you together.')
print('Hello '+dinnerpeople[1]+',I hope to have dinner with you together.')
print('Hello '+dinnerpeople[2]+',I hope to have dinner with you together.')
popped_dinnerpeople=dinnerpeople.pop()
print(dinnerpeople)
print(popped_dinnerpeople+',See you next time.')
dinnerpeople.append('Messi')
print(dinnerpeople)
print('Hello '+dinnerpeople[2]+',I am glad you could have dinner with me.')

这里写图片描述
(3)再次打印一系列消息,向名单中的每位嘉宾发出邀请

dinnerpeople=['Lebron James','Li Jiacheng','Jack Ma']
print('Hello '+dinnerpeople[0]+',I hope to have dinner with you together.')
print('Hello '+dinnerpeople[1]+',I hope to have dinner with you together.')
print('Hello '+dinnerpeople[2]+',I hope to have dinner with you together.\n')
popped_dinnerpeople=dinnerpeople.pop()
print(dinnerpeople)
print(popped_dinnerpeople+',See you next time.')
dinnerpeople.append('Messi')
print('Hello '+dinnerpeople[2]+',I am glad you could have dinner with me.\n')
print('Hello '+dinnerpeople[0]+',I hope to have dinner with you together.')
print('Hello '+dinnerpeople[1]+',I hope to have dinner with you together.')
print('Hello '+dinnerpeople[2]+',I hope to have dinner with you together.')

这里写图片描述

3.6添加嘉宾
你刚找到一个更大的餐桌,可以容纳更多的嘉宾 。请想想你还想邀请哪三位嘉宾.
(1) 在3-4或者3-5基础上在程序的末尾添加一条print语句,指出你找到一个更大的餐桌。

dinnerpeople=['Lebron James','Li Jiacheng','Jack Ma']
print('Hello '+dinnerpeople[0]+',I hope to have dinner with you together.')
print('Hello '+dinnerpeople[1]+',I hope to have dinner with you together.')
print('Hello '+dinnerpeople[2]+',I hope to have dinner with you together.\n')
print('Everybody,I found a bigger table')

(2)使用 insert()将一位新嘉宾添加到名单开头

dinnerpeople=['Lebron James','Li Jiacheng','Jack Ma']
print('Hello '+dinnerpeople[0]+',I hope to have dinner with you together.')
print('Hello '+dinnerpeople[1]+',I hope to have dinner with you together.')
print('Hello '+dinnerpeople[2]+',I hope to have dinner with you together.\n')
print('Everybody,I found a bigger table\n')
dinnerpeople.insert(0,'Wade')
print(dinnerpeople)

这里写图片描述

(3)使用 insert()将一位新嘉宾添加到名单中

dinnerpeople=['Lebron James','Li Jiacheng','Jack Ma']
print('Hello '+dinnerpeople[0]+',I hope to have dinner with you together.')
print('Hello '+dinnerpeople[1]+',I hope to have dinner with you together.')
print('Hello '+dinnerpeople[2]+',I hope to have dinner with you together.\n')
print('Everybody,I found a bigger table\n')
dinnerpeople.insert(0,'Wade')
print(dinnerpeople)
dinnerpeople.insert(2,'Paul')
print(dinnerpeople)

这里写图片描述
(4)使用 apppend()将一位新嘉宾添加到名单中

dinnerpeople=['Lebron James','Li Jiacheng','Jack Ma']
print('Hello '+dinnerpeople[0]+',I hope to have dinner with you together.')
print('Hello '+dinnerpeople[1]+',I hope to have dinner with you together.')
print('Hello '+dinnerpeople[2]+',I hope to have dinner with you together.\n')
print('Everybody,I found a bigger table\n')
dinnerpeople.insert(0,'Wade')
print(dinnerpeople)
dinnerpeople.insert(2,'Paul')
print(dinnerpeople)
dinnerpeople.append('Bosh')
print(dinnerpeople)

这里写图片描述
(5)向每位嘉宾发出邀请

dinnerpeople=['Lebron James','Li Jiacheng','Jack Ma']
print('Hello '+dinnerpeople[0]+',I hope to have dinner with you together.')
print('Hello '+dinnerpeople[1]+',I hope to have dinner with you together.')
print('Hello '+dinnerpeople[2]+',I hope to have dinner with you together.\n')
print('Everybody,I found a bigger table\n')
dinnerpeople.insert(0,'Wade')
print(dinnerpeople)
dinnerpeople.insert(2,'Paul')
print(dinnerpeople)
dinnerpeople.append('Bosh')
print(dinnerpeople)
print("\n")
print('Hello '+dinnerpeople[0]+',I hope to have dinner with you together.')
print('Hello '+dinnerpeople[1]+',I hope to have dinner with you together.')
print('Hello '+dinnerpeople[2]+',I hope to have dinner with you together.')
print('Hello '+dinnerpeople[3]+',I hope to have dinner with you together.')
print('Hello '+dinnerpeople[4]+',I hope to have dinner with you together.')
print('Hello '+dinnerpeople[5]+',I hope to have dinner with you together.\n')

3-7 缩减名单
你刚得知新购买的餐桌无法及时送达,因此只能邀请两位嘉宾
(1)以3-6为基础,在程序末尾添加一段代码,打印一条你能邀请两位嘉宾的消息
注:为了简便,为了只是验证想法,我将程序修改为4个元素不用3.6但是思路依然一样。
(2)使用POP不断删减嘉宾,知道只有两位嘉宾为止,每次从名单删除一位,都打印一条消息,让嘉宾知道你很抱歉,无法邀请他来共进晚餐

dinnerpeople=['Lebron James','Li Jiacheng','Jack Ma','Wade']
print("Everybody,I'm just can invite two people for dinner")
popped_dinnerpeople=dinnerpeople.pop()
print("Mrs "+popped_dinnerpeople+",I'm sorry I can't invite you")
popped_dinnerpeople=dinnerpeople.pop()
print("Mrs "+popped_dinnerpeople+",I'm sorry I can't invite you")

这里写图片描述

(3)对于剩下的两位嘉宾,都打印一条消息,指出他依然在受邀人之列。


dinnerpeople=['Lebron James','Li Jiacheng','Jack Ma','Wade']
print("Everybody,I'm just can invite two people for dinner")
popped_dinnerpeople=dinnerpeople.pop()
print("Mrs "+popped_dinnerpeople+",I'm sorry I can't invite you")
popped_dinnerpeople=dinnerpeople.pop()
print("Mrs "+popped_dinnerpeople+",I'm sorry I can't invite you\n")

print("Mrs "+dinnerpeople[0]+",I hope to have dinner with you together.")
print("Mrs "+dinnerpeople[1]+",I hope to have dinner with you together.")

这里写图片描述

(4)使用DEL将最后的两位嘉宾从名单上删除,让名单变成了空的。打印出该名单,合适程序结束的时候名单确实是空的

dinnerpeople=['Lebron James','Li Jiacheng','Jack Ma','Wade']
print("Everybody,I'm just can invite two people for dinner")
popped_dinnerpeople=dinnerpeople.pop()
print("Mrs "+popped_dinnerpeople+",I'm sorry I can't invite you")
popped_dinnerpeople=dinnerpeople.pop()
print("Mrs "+popped_dinnerpeople+",I'm sorry I can't invite you\n")

print("Mrs "+dinnerpeople[0]+",I hope to have dinner with you together.")
print("Mrs "+dinnerpeople[1]+",I hope to have dinner with you together.")
del dinnerpeople[0]  
del dinnerpeople[0]  #因为上一条指令删除之后,列表就变成了一个元素,所以第二个删除的指令是 dinnerpeople[0] 而不是 dinnerpeople[1]

print(dinnerpeople)

记录自己的学习历程,分享才能收获更多,希望有更好的解决方式或者更好思路可以跟我一起分享,能力有限程序中有问题的还望斧正

猜你喜欢

转载自blog.csdn.net/qq_35989861/article/details/81413124