Python入门学习之列表
本帖主要讲述Jupyter环境下进行Python编程时如何使用列表元素。
1. 什么是列表
列表 由一系列按特定顺序排列的元素组成。你可以创建包含字母表中
所有字母、数字0~9或所有家庭成员姓名的列表;也可以将任何东西加
入列表中,其中的元素之间可以没有任何关系。鉴于列表通常包含多个
元素,给列表指定一个表示复数的名称(如letters 、digits或names )是个不错的主意。
在Python中,用方括号([] )来表示列表,并用逗号来分隔其中的元
素。运用下列程序打印一个简单的列表:
In[1]:students=['name','id','class','score']
print(students)
['name', 'id', 'class', 'score']
打印出来的列表连带方括号一起打印,不具备实用性。因此我们必须学会如何访问列表元素。
2. 如何访问列表元素
列表是有序集合,因此访问列表元素只需要知道该元素的位置或者索引即可。访问列表元素时,可指出列表的名称,再指出列表元素的索引,再将其放入方括号中。
注意:索引是从0开始不是从1开始。
In[1]:students=['name','id','class','score']
print(students[0])
name#打印结果
同时python还提供了一个方便,就是可使用-1表示最后一个元素的索引,-2表示倒数第二个元素的索引,-3表示第三个,以此类推。这很适用于列表元素过多的情况下查找元素。
练习:
2-1 姓名: 将一些朋友的姓名存储在一个列表中,并将其命名
为names 。依次访问该列表中的每个元素,从而将每个朋友的姓名
都打印出来。
In[1]:names=['小明','小黄','小绿','小青','小蓝','小童']
print(names[0],names[1],names[2],names[3],names[4],names[5])
小明 小黄 小绿 小青 小蓝 小童#打印结果
2-2 问候语: 继续使用练习3-1中的列表,但不打印每个朋友的姓
名,而为每人打印一条消息。每条消息都包含相同的问候语,但抬
头为相应朋友的姓名。
In[2]:names=['小明','小黄','小绿','小青','小蓝','小童']
full="hello"+" "+names[0]
print(full)
full="hello"+" "+names[1]
print(full)
full="hello"+" "+names[2]
print(full)
full="hello"+" "+names[3]
print(full)
full="hello"+" "+names[4]
print(full)
full="hello"+" "+names[5]
print(full)
hello 小明
hello 小黄
hello 小绿
hello 小青
hello 小蓝
hello 小童#打印结果
3. 如何修改、添加、删除列表元素
3.1 修改
In[1]:names=['小明','小黄','小绿','小青','小 蓝','小童']
print(names)
names[0]='小强'
print(names)
['小明', '小黄', '小绿', '小青', '小蓝', '小童']#打印结果
['小强', '小黄', '小绿', '小青', '小蓝', '小童']#打印结果
由上述程序运行结果可以看出,若要修改某一列表只需将其索引对应的值修改为你想要的值即可。
3.2 添加
在列表末尾添加元素使用方法append():
In[2]:names=['小明','小黄','小绿','小青','小蓝','小童']
names.append('小强')
print(names)
['小明', '小黄', '小绿', '小青', '小蓝', '小童', '小强']#打印结果
在列表中插入元素使用方法insert():
In[3]:names=['小明','小黄','小绿','小青','小蓝','小童']
names.insert(3,'小强')
print(names)
['小明', '小黄', '小绿', '小强', '小青', '小蓝', '小童']#打印结果
3.3 删除
使用del语句删除:
In[4]:names=['小明','小黄','小绿','小青','小蓝','小童']
print(names)
del names[1]
print(names)
['小明', '小黄', '小绿', '小青', '小蓝', '小童']#打印结果
['小明', '小绿', '小青', '小蓝', '小童']#打印结果
还可以使用方法pop()删除元素,若要根据值删除元素即用remove()方法。
4. 组织列表
4.1 使用方法sort()对列表进行永久排序
In[3]:names=['意明','新黄','巧绿','灰青','天蓝','童童']
names.sort()#按照字母顺序排列
print(names)
names=['意明','新黄','巧绿','灰青','天蓝','童童']
names.sort(reverse=True)#按照字母反顺序排列
print(names)
['天蓝', '巧绿', '意明', '新黄', '灰青', '童童']#打印结果
['童童', '灰青', '新黄', '意明', '巧绿', '天蓝']#打印结果
4.2 使用sorted对列表进行临时排序
In[4]:cars = ['bmw', 'audi', 'toyota', 'subaru']
print("Here is the original list:")
print(cars)
print("\nHere is the sorted list:")
print(sorted(cars))
print("\nHere is the original list again:")
print(cars)
#打印结果
Here is the original list:
['bmw', 'audi', 'toyota', 'subaru']
Here is the sorted list:
['audi', 'bmw', 'subaru', 'toyota']
Here is the original list again:
['bmw', 'audi', 'toyota', 'subaru']
4.3 反序打印使用reverse()
该方法不按字母顺序,只是将列表元素顺序反过来。
4.4 如何确定列表长度
使用len()函数可获取列表的长度:
In[5]:names=['小明','小黄','小绿','小青','小蓝','小童']
len(names)
Out[5]:6
参考文献
《Python编程从入门到实践》