码迷,mamicode.com
首页 > 编程语言 > 详细

python的基础03 列表list

时间:2019-01-04 23:35:52      阅读:301      评论:0      收藏:0      [点我收藏+]

标签:selected   列表排序   out   bar   添加元素   sorted   列表   无法   方法   

3.列表

  • 列表由一系列按特定顺序排列的元素组成,list是一种有序的集合,可以随时添加和删除其中的元素
  • 列表的格式:列表是用方括号[]来表示,中间的元素用逗号(,)隔开
 
 
# 简单的列表
bicycles = [trek,cannondale,Redline,specialized]
print(bicycles)  # 打印的时候会连[]也打印出来
 [‘trek‘, ‘cannondale‘, ‘Redline‘, ‘specialized‘]

3.1.1 访问列表的元素

  • 要访问列表的任何元素,可指出列表的名称,在指出元素的索引,并将其放在方括号[]内

 

# 当我们访问列表的元素时,python只会返回列表的元素,而不会包含中括号或者引号
print(bicycles[0]) 
print(len(bicycles))
print(bicycles[3].title()) # 打印出索引为3的元素,并将它的首字母改为大写

 

trek
4
Specialized
 

3.1.2 索引的位置

  • 在python里面,列表的第一个元素的位置是0,而不是1;
  • 最后一个元素的索引是n-1或者直接使用-1来表示;
# 反问列表bicycles的第2个和第3个元素
print(bicycles[1].upper())
print(bicycles[2].lower())
CANNONDALE
redline

3.1.3 使用列表中的值

 

# 使用拼接来创建一条消息
bicycles = ["trek",cannondale,redline,"specialized"]
message = "My first bicycle was a" +   + bicycles[2].title() + .
print(message)
My first bicycle was a Redline.
 

动手试一试

 

# 3-1 姓名: 将一些朋友的姓名存储在一个列表中,并将其命名为 names。依次访问该列表中的每个元素,从而将每个朋友的姓名都打印出来。
names = [Bob,lucy,mary]
print(names[0])
print(names[-2])
print(names[-1].title())

 

Bob
lucy
Mary
 
# 3-2 问候语: 继续使用练习 3-1 中的列表,但不打印每个朋友的姓名,而为每人打印一条消息。每条消息都包含相同的问候语,但抬头为相应朋友的姓名。
print(names[0],,,让我们一起去吃饭吧!)
print(names[1],,,"让我们一起去吃饭吧!")
print(names[-1].title(),,,让我们一起去吃饭吧!)
Bob , 让我们一起去吃饭吧!
lucy , 让我们一起去吃饭吧!
Mary , 让我们一起去吃饭吧!
 

3.2 修改丶添加和删除元素

3.2.1 修改列表元素

  • 要修改列表元素,可指定列表名和要修改的元素的索引,在指定该元素的新值
motocycles = [honda,yamaha,suzuki]
print(motocycles)
motocycles[0] = "ducati"
print(motocycles)
[‘honda‘, ‘yamaha‘, ‘suzuki‘]
[‘ducati‘, ‘yamaha‘, ‘suzuki‘]
 

3.2.2 在列表中添加元素

  • 1.在列表末尾添加元素我们使用append()
  • 2.使用方法insert()在任何位置添加新元素
# 使用append添加元素
motocycles = [honda,yamaha,suzuki]
print(motocycles)
motocycles.append("ducati")
print(motocycles)
[‘honda‘, ‘yamaha‘, ‘suzuki‘]
[‘honda‘, ‘yamaha‘, ‘suzuki‘, ‘ducati‘]
# 使用insert()添加元素
motocycles = [honda,yamaha,suzuki]
print(motocycles)
motocycles.insert(0,ducati)  # 列表名.insert(索引位置,添加的元素)
print(motocycles)
[‘honda‘, ‘yamaha‘, ‘suzuki‘]
[‘ducati‘, ‘honda‘, ‘yamaha‘, ‘suzuki‘]
 

3.2.3 从列表中删除元素

  • 知道索引位置删除列表元素
    • 1.知道需要删除元素的索引,使用del语句删除元素,被删除的值我们将无法再访问
    • 2.使用方法pop()删除元素,只需要在()内指定被删除的元素的索引位置,被删除的值我们可以再度使用.如果括号内没有索引位置则删除的是列表最后的一个元素.
# del语句删除列表元素 del 列表名(索引位置)
motocycles = [honda,yamaha,suzuki]
print(motocycles)
del motocycles[0]
print(motocycles)
[‘honda‘, ‘yamaha‘, ‘suzuki‘]
[‘yamaha‘, ‘suzuki‘]
 
# 方法pop()删除列表末尾的元素
motocycles = [honda,yamaha,suzuki]
print(motocycles)
poped_motocycles = motocycles.pop()  # 把删除的元素存储在变量poped_motocycles里面
print(motocycles)
print(poped_motocycles)
[‘honda‘, ‘yamaha‘, ‘suzuki‘]
[‘honda‘, ‘yamaha‘]
suzuki
 
# 使用方法pop()删除列表指定位置的元素
motocycles = [honda,yamaha,suzuki]
print(motocycles)
first_motocycles = motocycles.pop(0)  # 把索引为0的元素删除并把值存放在变量first_motocycles
print("The first motocycles I owned was a" +  +  first_motocycles.title())
[‘honda‘, ‘yamaha‘, ‘suzuki‘]
The first motocycles I owned was a Honda
 
  • 根据值删除元素
    • 不知道元素的索引,但是知道元素的值,我们使用方法remove()
# 从列表中删除元素为ducati
motocycles = [honda,yamaha,suzuki,ducati]
print(motocycles)
motocycles.remove(ducati)
print(motocycles)

# 使用remove删除的值也可以继续接着使用
motocycles = [honda,yamaha,suzuki,ducati]
print(motocycles)
too_motocycles = ducati
motocycles.remove(too_motocycles)
print(motocycles)
print("A" +   + too_motocycles + "is too expensive for me.")
[‘honda‘, ‘yamaha‘, ‘suzuki‘, ‘ducati‘]
[‘honda‘, ‘yamaha‘, ‘suzuki‘]
[‘honda‘, ‘yamaha‘, ‘suzuki‘, ‘ducati‘]
[‘honda‘, ‘yamaha‘, ‘suzuki‘]
A ducatiis too expensive for me.
 

动手试一试

 

‘‘‘3-4 嘉宾名单:如果你可以邀请任何人一起共进晚餐,请创建一个列表,其中包含至少3个你想邀请的人;然后,使用这个列表打印消息,邀请这些人来与你共进晚餐。‘‘‘
dinners = [Li_yang,Wu_yong,Zhang_san]
print(dinners[0] + "," + 让我们一起吃晚餐吧!)
print(dinners[1] + "," + "让我们一起共进晚餐吧!")
print(dinners[-1] + , + "让我们一起吃晚餐吧!")

dinners = [Li_yang,Wu_yong,Zhang_san]
print(str(dinners) + ,,让我们一起吃晚餐吧!)
Li_yang,让我们一起吃晚餐吧!
Wu_yong,让我们一起共进晚餐吧!
Zhang_san,让我们一起吃晚餐吧!
[‘Li_yang‘, ‘Wu_yong‘, ‘Zhang_san‘], 让我们一起吃晚餐吧!
 
‘‘‘3-5 修改嘉宾名单:你刚得知有位嘉宾无法赴约,因此需要另外邀请一位嘉宾。
? 以完成练习 3-4 时编写的程序为基础,在程序末尾添加一条 print 语句,指出哪
位嘉宾无法赴约。‘‘‘
dinners = [Li_yang,Wu_yong,Zhang_san]
print(str(dinners) + ,,让我们一起吃晚餐吧!)
print("我刚刚知道" + dinners[1]+ "不能来了")

# ? 修改嘉宾名单,将无法赴约的嘉宾的姓名替换为新邀请的嘉宾的姓名。
dinners = [Li_yang,Wu_yong,Zhang_san]
dinners[1] = Li_si
print(dinners)

# ? 再次打印一系列消息,向名单中的每位嘉宾发出邀请
print("{0}".format(dinners) + "让我们一起吃晚饭吧")
[‘Li_yang‘, ‘Wu_yong‘, ‘Zhang_san‘], 让我们一起吃晚餐吧!
我刚刚知道Wu_yong不能来了
[‘Li_yang‘, ‘Li_si‘, ‘Zhang_san‘]
[‘Li_yang‘, ‘Li_si‘, ‘Zhang_san‘]让我们一起吃晚饭吧
‘‘‘3-6 ? 以完成练习 3-4 或练习 3-5 时编写的程序为基础,在程序末尾添加一条 print 语
句,指出你找到了一个更大的餐桌‘‘‘
dinners = [Li_yang, Li_si, Zhang_san]
for dinner in dinners:
    print("{0}".format(dinner) + , + "让我们一起吃晚餐吧!")
print("我找到了一张更大的餐桌")

# 使用 insert()将一位新嘉宾添加到名单开头.
dinners = [Li_yang, Li_si, Zhang_san]
print(dinners)
dinners.insert(0,Wang_wu)
print(dinners)

# ? 使用 insert()将另一位新嘉宾添加到名单中间。
dinners.insert(2,Wu_yong)
print(dinners)

# ? 使用 append()将最后一位新嘉宾添加到名单末尾。
dinners.append(Fang_jiu)
print(dinners)
Li_yang,让我们一起吃晚餐吧!
Li_si,让我们一起吃晚餐吧!
Zhang_san,让我们一起吃晚餐吧!
我找到了一张更大的餐桌
[‘Li_yang‘, ‘Li_si‘, ‘Zhang_san‘]
[‘Wang_wu‘, ‘Li_yang‘, ‘Li_si‘, ‘Zhang_san‘]
[‘Wang_wu‘, ‘Li_yang‘, ‘Wu_yong‘, ‘Li_si‘, ‘Zhang_san‘]
[‘Wang_wu‘, ‘Li_yang‘, ‘Wu_yong‘, ‘Li_si‘, ‘Zhang_san‘, ‘Fang_jiu‘]
 
# 3-7 缩减名单:你刚得知新购买的餐桌无法及时送达,因此只能邀请两位嘉宾。
‘‘‘ ? 使用 pop()不断地删除名单中的嘉宾,直到只有两位嘉宾为止。每次从名单中弹
出一位嘉宾时,都打印一条消息,让该嘉宾知悉你很抱歉,无法邀请他来共进
晚餐。‘‘‘
dinners = [Wang_wu, Li_yang, Wu_yong, Li_si, Zhang_san, Fang_jiu]
dinners_01 = dinners.pop()
print(dinners_01 + , + "我无法邀请你来吃饭了!")
dinners_02 = dinners.pop(0)
print(dinners_02 + , + "我无法邀请你来吃饭了!")
dinners_03 = dinners.pop(1)
print(dinners_03 + , + "我无法邀请你来吃饭了!")
dinners_04 = dinners.pop(2)
print(dinners_04 + , + "我无法邀请你来吃饭了!")
print(dinners)

# ? 对于余下的两位嘉宾中的每一位,都打印一条消息,指出他依然在受邀人之列。
dinners01 = dinners[0]
dinners02 = dinners[1]
print(dinners01 + , + "你依然在受邀之列")
print(dinners02 + , + "你依然在受邀之列")

# ? 使用 del 将最后两位嘉宾从名单中删除,让名单变成空的。打印该名单,核实程序结束时名单确实是空的
del dinners[0]
del dinners[-1]
print(dinners)
Fang_jiu,我无法邀请你来吃饭了!
Wang_wu,我无法邀请你来吃饭了!
Wu_yong,我无法邀请你来吃饭了!
Zhang_san,我无法邀请你来吃饭了!
[‘Li_yang‘, ‘Li_si‘]
Li_yang,你依然在受邀之列
Li_si,你依然在受邀之列
[]
 

3.3 组织列表

  • 1.使用方法sort()对列表进行永久排序
  • 2.使用函数sorted()对列表进行临时排序

 

# sort()对列表排序
cars = [bmw,audi,toyota,subaru]
print(cars)
cars.sort()
print(cars)

# 对sort()传入参数使列表按与字母顺序相反的顺序排列
cars.sort(reverse = True)
print(cars)
cars.sort(reverse = False)
print(cars)

 

[‘bmw‘, ‘audi‘, ‘toyota‘, ‘subaru‘]
[‘audi‘, ‘bmw‘, ‘subaru‘, ‘toyota‘]
[‘toyota‘, ‘subaru‘, ‘bmw‘, ‘audi‘]
[‘audi‘, ‘bmw‘, ‘subaru‘, ‘toyota‘]
 
# 使用sorted()对列表进行排序
cars = [bmw,audi,toyota,subaru]
sorted_cars = sorted(cars)
print(cars)
print(sorted_cars)
[‘bmw‘, ‘audi‘, ‘toyota‘, ‘subaru‘]
[‘audi‘, ‘bmw‘, ‘subaru‘, ‘toyota‘]
 

3.3.3 倒着打印列表

  • 要反转列表元素的排列顺序,我们是使用方法reverse()
# 倒着打印列表
cars = [bmw,audi,toyota,subaru]
cars.reverse()
print(cars)
[‘subaru‘, ‘toyota‘, ‘audi‘, ‘bmw‘]
 

3.3.4 确定列表的长度

  • 使用len()可以确定列表有多少个元素
cars = [bmw,sudi,toyota,subaru]
print(len(cars))
4

动手试一试

‘‘‘3-8 放眼世界:想出至少 5 个你渴望去旅游的地方。
? 将这些地方存储在一个列表中,并确保其中的元素不是按字母顺序排列的。‘‘‘
toursim = [beijing,tokyo,usa,lijiang,kunming]

# ? 按原始排列顺序打印该列表。不要考虑输出是否整洁的问题,只管打印原始Python 列表。
print(toursim)
# ? 使用 sorted()按字母顺序打印这个列表,同时不要修改它。
sorted_toursim = sorted(toursim)
print(sorted_toursim)
# ? 再次打印该列表,核实排列顺序未变。
print(toursim)
# ? 使用 sorted()按与字母顺序相反的顺序打印这个列表,同时不要修改它。
sorsted_toursim = sorted(toursim,reverse = True)
print(sorted_toursim)
[‘beijing‘, ‘tokyo‘, ‘usa‘, ‘lijiang‘, ‘kunming‘]
[‘beijing‘, ‘kunming‘, ‘lijiang‘, ‘tokyo‘, ‘usa‘]
[‘beijing‘, ‘tokyo‘, ‘usa‘, ‘lijiang‘, ‘kunming‘]
[‘beijing‘, ‘kunming‘, ‘lijiang‘, ‘tokyo‘, ‘usa‘]
 
# ? 再次打印该列表,核实排列顺序未变。
print(toursim)
# ? 使用 reverse()修改列表元素的排列顺序。 打印该列表, 核实排列顺序确实变了。
toursim.reverse()
print(toursim)

# ? 使用 reverse()再次修改列表元素的排列顺序。打印该列表,核实已恢复到原来的排列顺序。
toursim.reverse()
print(toursim)

# ? 使用 sort()修改该列表,使其元素按字母顺序排列。打印该列表,核实排列顺序确实变了。
toursim.sort()
print(toursim)

# ? 使用 sort()修改该列表,使其元素按与字母顺序相反的顺序排列。打印该列表,核实排列顺序确实变了。
toursim.sort(reverse = True)
print(toursim)

# 3-9 晚餐嘉宾:在完成练习 3-4~练习 3-7 时编写的程序之一中,使用 len()打印一条消息,指出你邀请了多少位嘉宾来与你共进晚餐。
dinners = [Wang_wu, Li_yang, Wu_yong, Li_si, Zhang_san, Fang_jiu]
print(len(dinners))
[‘usa‘, ‘tokyo‘, ‘lijiang‘, ‘kunming‘, ‘beijing‘]
[‘beijing‘, ‘kunming‘, ‘lijiang‘, ‘tokyo‘, ‘usa‘]
[‘usa‘, ‘tokyo‘, ‘lijiang‘, ‘kunming‘, ‘beijing‘]
[‘beijing‘, ‘kunming‘, ‘lijiang‘, ‘tokyo‘, ‘usa‘]
[‘usa‘, ‘tokyo‘, ‘lijiang‘, ‘kunming‘, ‘beijing‘]
6

python的基础03 列表list

标签:selected   列表排序   out   bar   添加元素   sorted   列表   无法   方法   

原文地址:https://www.cnblogs.com/Pythonahy/p/10222974.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!