上一篇我们介绍了Python中的变量和简单数据类型,本篇我们主要介绍列表。
列表是一系列按特定顺序排列的元素组成,在Python中,用方括号来表示列表,用逗号来分隔其中的元素。
例如我们定义一个列表companies
companies = ['Google', 'Microsoft', 'Amazon', 'Facebook', 'Apple'] print(companies)
输出结果:
['Google', 'Microsoft', 'Amazon', 'Facebook', 'Apple']
访问列表中的元素
比如我们要访问上述companies列表中的第一个元素,我们可以这样:
print(companies[0])
输出结果Google
即采用列表名加中括号[索引号]的形式来提取元素,需要注意的是,和计算机的其他机制类似,第一个索引是以0开始的,第二个元素的索引号是1,然后以此类推。
索引号-1是只列表的最后一个元素:
print(companies[-1])
输出结果Apple
索引-2则是倒数第二个元素,然后以此类推。
修改、添加、删除元素
要修改元素,可以直接对这个元素的索引号对应的内容赋值,例如,我们要把上述companies列表的第一个索引公司名改成Tencent,可以这样:
companies[0] = 'Tencent' print(companies)
输出结果就变成了这样:
['Tencent', 'Microsoft', 'Amazon', 'Facebook', 'Apple']
要添加元素,比如在末尾追加一个公司Twitter,则可以这样:
companies.append('Twitter') print(companies)
输出结果变成这样:
['Tencent', 'Microsoft', 'Amazon', 'Facebook', 'Apple', 'Twitter']
要在列表中插入元素,可以直接把元素插入后的号和内容加入即可,例如,我们想把刚才被修改掉的Google重新加入列表,并排列表的第一位,我们可以这样:
companies.insert(0, 'Google') print(companies)
输出结果变成了这样:
['Google', 'Tencent', 'Microsoft', 'Amazon', 'Facebook', 'Apple', 'Twitter']
从列表中删除元素,如果知道元素在列表中的具体位置,可以使用del进行删除。
del companies[1] print(companies)
输出结果:
['Google', 'Microsoft', 'Amazon', 'Facebook', 'Apple', 'Twitter']
有时候,你需要删除某个元素,并接着继续使用这个删掉的元素,那么这时候可以使用pop(),例如
popped_company = companies.pop() print(companies) print(popped_company)
输出结果:
['Google', 'Microsoft', 'Amazon', 'Facebook', 'Apple'] Twitter
要弹出列表中任意位置的元素,需要在pop()中加入索引号,例如要弹出第一个元素,则使用pop(0)。
有时候我们不知道元素的索引号,我们也可以根据值删除具体的值删除元素,此时可以使用方法remove(),例如我们要删除上述公司中的Facebook公司,可以这样做。
companies.remove('Facebook') print(companies)
输出结果如下:
['Google', 'Microsoft', 'Amazon', 'Apple']
需要注意的是,用方法remove()删除的值,也可以继续使用,另外,方法remove()只删除列表中第一个匹配的值,如果有多个重复的值,则需要使用循环来删除所有这样的值。
组织列表
使用方法sort()对列表进行永久性排序。
companies.sort() print(companies)
输出结果如下:
['Amazon', 'Apple', 'Google', 'Microsoft']
如果要按照相反字母的顺序,可以添加参数reverse=True
companies.sort(reverse=True) print(companies)
输出结果:
['Microsoft', 'Google', 'Apple', 'Amazon']
如果要对列表进行临时性排序,则可以使用函数sorted(),例如使用sorted(companies)可以输出临时排序的内容,如果要输出与字母相反的临时排序,同样需要添加参数reverse = True,例如sorted(companies, reverse = True)
要倒着打印列表,则可以使用方法reverse(),例如companies.reverse(),使用方法reverse()会永久性的改变列表,要改变为原来的顺序,则再使用一次方法reverse()即可。
要确定列表的长度(元素个数),可以使用函数len(),例如len(companies)
在使用列表的时候,经常会遇到索引错误,首先我们要明确,索引是从0开始的;其次,最后一个元素的索引是-1,某些操作下,列表的内容会动态变化,你所使用的索引序号可能与你逾期的元素截然不同,此时,建议你直接用print输出当前列表的内容。