Python学习笔记之列表和成员运算符及列表相关方法详解
本文实例讲述了Python学习笔记之列表和成员运算符及列表相关方法。分享给大家供大家参考,具体如下:
列表和成员运算符
列表可以包含我们到目前为止所学的任何数据类型并且可以混合到一起。
lst_of_random_things=[1,3.4,'astring',True]#这是一个包含4个不同类型元素的列表 print(lst_of_random_things[0])#1
获取上述列表的第一个值和最后一个值
print(lst_of_random_things[0])#1 print(lst_of_random_things[len(lst_of_random_things)-1])#True
此外,你可以使用负数从列表的末尾开始编制索引,其中-1表示最后一个元素,-2表示倒数第二个元素,等等
print(lst_of_random_things[-1])#True print(lst_of_random_things[-2])#astring
列表切片的应用:我们可以使用切片功能从列表中提取多个值。在使用切片功能时,务必注意,下限索引包含在内,上限索引排除在外,最终返回的是一个新的列表
正常的用法:
lst_of_random_things=[1,3.4,'astring',True] print(lst_of_random_things[1:2])#[3.4]
从列表的开头开始,也可以省略起始值
lst_of_random_things=[1,3.4,'astring',True] print(lst_of_random_things[:2])#[1,3.4]
要返回到列表结尾的所有值,可以忽略最后一个元素
lst_of_random_things=[1,3.4,'astring',True] print(lst_of_random_things[1:])#[3.4,'astring',True]
在列表里还是不在列表里?关键字in和notin返回一个布尔值,表示某个元素是否存在于列表中,或者某个字符串是否为另一个字符串的子字符串
print('this'in'thisisastring')#True print('in'in'thisisastring')#True print('isa'in'thisisastring')#False print(5notin[1,2,3,4,6])#True print(5in[1,2,3,4,6])#False
列表的可变性和顺序
可变性是指对象创建完毕后,我们是否可以更改该对象。如果对象(例如列表或字符串)可以更改,则是可变的。但是,如果无法更改对象以创建全新的对象(例如字符串),则该对象是不可变的。
列表可变性测试:
my_lst=[1,2,3,4,5] my_lst[0]='one' print(my_lst)#['one',2,3,4,5]
下面尝试修改字符串:
greeting="Hellothere" greeting[0]='M'
尝试修改字符串,引发如下错误:
Traceback(mostrecentcalllast):
File"",line1,in
TypeError:'str'objectdoesnotsupportitemassignment
但可以修改字符串对象的地址:
greeting="Hellothere" greeting='Hithere' print(greeting)#Hithere
本节注意事项:对于你要使用的每种数据类型,你都需要注意两个事项:可变吗?有序吗?
列表和成员运算符[相关练习]
请使用列表索引根据整型变量month判断特定月份有多少天,并将该值存储在整型变量num_days中
month=8 days_in_month=[31,28,31,30,31,30,31,31,30,31,30,31] #uselistindexingtodeterminethenumberofdaysinmonth num_days=days_in_month[month-1] print(num_days)
请使用列表切片记法从此列表中选择列表中的最后三个元素。提示:切片可以使用负索引!
eclipse_dates=['June21,2001','December4,2002','November23,2003', 'March29,2006','August1,2008','July22,2009', 'July11,2010','November13,2012','March20,2015', 'March9,2016'] #TODO:Modifythislinesoitprintsthelastthreeelementsofthelist print(eclipse_dates[-3:])
列表的常用方法
常用方法举例
- len()返回列表中的元素数量。
- max()返回列表中的最大元素。最大元素的判断依据是列表中的对象类型。数字列表中的最大元素是最大的数字。字符串列表中的最大元素是按照字母顺序排序时排在最后一位的元素。因为max()函数的定义依据是大于比较运算符。如果列表包含不同的无法比较类型的元素,则max()的结果是undefined。
- min()返回列表中的最小元素。它是max()函数的对立面,返回列表中的最小元素。
- sorted()返回一个从最小到最大排序的列表副本,并使原始列表保持不变。
- join()将字符串列表作为参数,并返回一个由列表元素组成并由分隔符字符串分隔的字符串。
- append()实用方法append()会将元素添加到列表末尾。
方法实践举例之join()
new_str="\n".join(["fore","aft","starboard","port"]) print(new_str)
输出:在此示例中,我们使用字符串“\n”作为分隔符,以便每个元素之间都有一个换行符。我们还可以在.join中使用其他字符串作为分隔符。以下代码使用的是连字符。
fore aft starboard port
or
name="-".join(["García","O'Kelly"]) print(name)
输出:
García-O'Kelly
方法实践举例之append()
letters=['a','b','c','d'] letters.append('z') print(letters)
输出:
['a','b','c','d','z']
列表的常用方法[相关练习]
以下代码的输出是什么?
a=[1,5,8] b=[2,6,9,10] c=[100,200] print(max([len(a),len(b),len(c)]))#4 print(min([len(a),len(b),len(c)]))#2
以下代码的输出是什么?
names=["Carol","Albert","Ben","Donna"] print("&".join(sorted(names)))#Albert&Ben&Carol&Donna
以下代码的输出是什么?
names=["Carol","Albert","Ben","Donna"] names.append("Eugenia") print(sorted(names))#['Albert','Ben','Carol','Donna','Eugenia']
更多关于Python相关内容可查看本站专题:《Python列表(list)操作技巧总结》、《Python字符串操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。