《Python编程入门到实践》第三章 列表

第三章 列表
列表是由一系列按特定顺序排列的元素组成
在python中用方括号([ ])来表示列表,并用逗号来分隔其中的元素

  1. 访问列表元素
    要访问列表元素,可指出列表名称,再指出元素的索引,并将其放在方括号内
    例如:访问A列表中第2个元素
    A=[a,b,c,d,e]
    print(A[1])
    注意:索引从0开始而不是1
  2. 修改列表元素
    要修改列表元素,可指定列表名和要修改的元素的索引,再指定该元素的新值
    例如:修改A列表中的第一个元素的值
    A[0] = ‘h’
  3. 添加列表元素
    在列表末尾添加元素append() 例如在A列表末尾添加元素f :A.append(‘f’)
    在列表中任何位置插入元素 insert() 例如在A列表第2元素添加 ‘g’ : A.insert(1,’g’)
  4. 删除列表元素
    用del语句从列表中删除元素(删除以后就无法再访问该元素):
    A= A=[a,b,c,d,e]
    del A[1] #删除列表A中的第2个元素b
    用pop()删除元素:pop()可删除列表末尾的元素,并且能够接着使用它
    注意:如果要从列表中删除一个元素且不再以任何方式使用它,用del语句;如果删除元素后还能继续使用该元素就使用方法pop()
    用remov()从列表中删除元素,删除以后也可以接着使用它的值
    注意:remove()只删除第一个指定的值,如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值,在之后章节会学习到。
  5. 对列表元素进行排序
    使用sort()对列表进行永久性排序,排序后无法恢复到原来的排列顺序;sort(reverse=True)是按照字母顺序相反的顺序排列列表元素。
    使用sorted()对列表进行临时排序,即保留列表元素原来的排列顺序,同时以特定的顺序呈现它们,sorted(reverse=True)按字母顺序的相反的顺序显示列表。
    使用reverse()可以反转列表元素的排列顺序,永久性的修改排列顺序,但也可以随时恢复到原来的排列顺序。
  6. 确定列表长度
    使用函数len()可以快速获列表长度
  7. 使用列表时避免索引错误
    当需要访问最后一个列表元素时,都可使用索引-1

动手试一试

  1. 将一些朋友的姓名存储在一个列表中并将其命名为names,依次访问该列表的每个元素,从而将列表中每个朋友的名字都打印出来
names = ['WJJ','RYH','MJ','YJ','YN','TMY','CJW','LWB']
print(names)
  1. 继续使用1中的列表但是不打印每个朋友的姓名,而为每个人打印一条消息,每条消息包含相同的问候语,但是抬头为相应朋友的姓名
names = ['WJJ','RYH','MJ','YJ','YN','TMY','CJW','LWB']
#print(names)
i=0;
for i in range(len(names)):
print(names[i]+' Hello! ')
  1. 创建一个包含多种通勤方式的列表,根据该列表打印一系列有关通勤方式的宣言,如“I would like to own a Honda motocycle.”
ways =['bycle','car','subway','bus','foot']
i=0;
for i in range(len(ways)):
    print('I would like to go to work by '+ ways[i]+' .')
  1. 创建一个列表,其中包含至少3个要邀请的人,然后使用这个列表打印消息
people =['WJJ','RYH','MJ','YJ','YN','TMY','CJW','LWB']
print(people)
  1. 在4程序末尾添加显示是哪位宾客无法出席;修改宾客名单,将无法出席的嘉宾替换为新邀请的嘉宾;再一次打印一系列消息,向名单中的每位嘉宾发出邀请
people =['WJJ','RYH','MJ','YJ','YN','TMY','CJW','LWB']
print(people)
print('在此宴会中,'+ people[0]+'无法出席,将由ABC代替')
people[0]='ABC'
print('现在的人员名单为:'+ str(people))
  1. 添加三位嘉宾;使用insert()将一位新嘉宾添加到名单开头;使用insert()将另一嘉宾添加到名单中间;使用append()将最后一位新家并添加到名单末尾;打印一系列消息,向名单中的每位嘉宾发出邀请
people =['WJJ','RYH','MJ','YJ','YN','TMY','CJW','LWB']
people[-1]='XH'
print(people)
people.insert(0,'A')
people.insert(4,'B')
people.append('C')
print(people)
  1. 在6的基础上,打印你只能邀请两位嘉宾的消息;使用pop()不断地删除名单中的嘉宾,直到只有两位嘉宾为止;每次从名单中弹出一位嘉宾时,都打印一条消息,告知你很抱歉;对余下的两位嘉宾中的每一位打印受邀消息;用del将最后两位嘉宾从名单中删除,让名单为空,打印名单核实程序结束时名单是空的。
names=['WJJ', 'RYH', 'MJ', 'B', 'YJ', 'YN', 'TMY', 'CJW']
i=0
while i<6:
    name_pop=names.pop()
    message="Sorry, "+name_pop+" I can't invite you to have dinner."
    print(message)
    i=i+1
for name in names:
    message1=name+",you can still have dinner ."
    print(message1)
del names[0]
del names[0]
print(names)
print("I can only invite two people to have dinner.")
  1. 列表至少5个你想去旅游的元素,将这些元素存储在一个列表中,并确保其中的元素不是按字母顺序排列的;按原始排列顺序打印该列表;使用sorted()按字母顺序打印列表,不要修改;再次打印列表确认排列顺序未变;使用sorted()按与字母顺序相反的顺序打印列表,同时不要修改它,再次打印确认排列顺序未变;使用reverse()修改列表元素的排列顺序,再次打印确认顺序确实变了;使用reverse()再次改变元素,确认已恢复到原来的排列顺序;使用sort()修改列表,使其元素按字母顺序排列,打印该列表核实排列顺序已改变;使用sort()修改列表,使其元素按与字母顺序相反的顺序排列并确认
list =['Paris','China','America','French','Italy']
print(list)
print(sorted(list))
print(sorted(list,reverse=True))
list.sort()
print(list)
list.sort(reverse=True)
print(list)

结果

['Paris', 'China', 'America', 'French', 'Italy']
['America', 'China', 'French', 'Italy', 'Paris']
['Paris', 'Italy', 'French', 'China', 'America']
['America', 'China', 'French', 'Italy', 'Paris']
['Paris', 'Italy', 'French', 'China', 'America']
  1. 用len()打印一条消息指出邀请了多少位嘉宾
list =['Paris','China','America','French','Italy']
print(len(list)) #结果 : 5
  1. 编写一个程序,在其中创建一个包含这些元素的列表,使用本章的每个函数来处理这个列表
list=['lijiang','gulangyu','yunnan','xian','chongqing']
list.append('tianjin')#在列表末尾添加元素
print(list)
list.insert(0,'Beijing')#在列表的任何位置添加元素
print(list)
del list[0]#删除列表中的位置元素
print(list)
name_pop=list.pop()#删除列表末尾的元素,并可以接着使用它
print(list)
print(name_pop)
name_pop1=list.pop(0)#弹出列表中任何位置处的元素
print(name_pop1)
list.remove('xian')#根据值删除元素
print(list)
list.sort()#对列表永久性排序;顺序
print(list)
list.sort(reverse=True)#对列表永久性排序;逆序
print(list)
print(sorted(list))#对列表临时排序;顺序
print(list)
print(sorted(list,reverse=True))#对列表临时性排序;逆序
print(list)
list.reverse()#反转列表元素的顺序
print(list)
print(len(list))#确定列表长度

结果:

['lijiang', 'gulangyu', 'yunnan', 'xian', 'chongqing', 'tianjin']
['Beijing', 'lijiang', 'gulangyu', 'yunnan', 'xian', 'chongqing', 'tianjin']
['lijiang', 'gulangyu', 'yunnan', 'xian', 'chongqing', 'tianjin']
['lijiang', 'gulangyu', 'yunnan', 'xian', 'chongqing']
tianjin
lijiang
['gulangyu', 'yunnan', 'chongqing']
['chongqing', 'gulangyu', 'yunnan']
['yunnan', 'gulangyu', 'chongqing']
['chongqing', 'gulangyu', 'yunnan']
['yunnan', 'gulangyu', 'chongqing']
['yunnan', 'gulangyu', 'chongqing']
['yunnan', 'gulangyu', 'chongqing']
['chongqing', 'gulangyu', 'yunnan']
3

小结:
在本章学习了列表是什么以及如何使用其中的元素;如何定义列表以及如何增删元素;如何对列表进行永久性排序以及如何为展示列表而进行临时排序;如何确定列表长度以及在使用列表时如何避免索引错误。

ps:明天要出去拜访老师,今天提前学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值