1、列表是什么
在Python中,用方括号( [ ] )表示列表,用逗号( , )分隔列表中的元素。
下列实例:
city=['chongqing','jiangxi','beijing','nanchang']
print(city)
让Python打印出来,Python将打印列表的内部表示,包括方括号,如下:
['chongqing', 'jiangxi', 'beijing', 'nanchang']
1.1、访问列表元素
要访问列表的任何元素,只需将元素的索引(位置)告诉Python即可。
访问列表元素,先指出列表的名称,在指出列表的索引,并将索引放在方括号内。
例:访问第一个元素,只需在city[]的方括号内加上第一个元素的索引
city=['chongqing','jiangxi','beijing','nanchang']
print(city[0])
注:当获取元素是,Python只返回该元素,而不包括方括号:
chongqing
扩:
Python为访问元素最后一个列表的元素提供了一种特殊的语法。通过将索引为负数,为-1是访问的是最后一个元素,为-2时访问的是倒数第二的元素,为-3是访问的是倒数第三的元素...以此类推。这种语法适合在你不知道列表长度的情况下访问元素是去使用,会更简便。
city=['chongqing','jiangxi','beijing','nanchang']
print(city[-1])
print(city[-2])
print(city[-3])
nanchang
beijing
jiangxi
2、修改、添加和删除列表元素
创建的大多数列表将是动态的,这意味着列表创建后,将随着程序的运行增删元素。
2.1、修改列表元素
修改列表元素:①指定列表名 ②要修改的元素的索引 ③在指定改索引位置上的新值
例:其中第一个元素为‘chongqing’,则在创建列表后修改这个元素的值:
city=['chongqing','jiangxi','beijing','nanchang']
city[0]='xinjiapo'
print(city)
输出表明,第一个元素变了,其余的元素都没变
['xinjiapo', 'jiangxi', 'beijing', 'nanchang']
2.2、在列表中添加元素
1、在列表末尾添加元素
在列表中添加元素,在列表中有,将元素追加(append)到列表末尾。
append()方法的用法:
先建立一个列表,再使用一系列函数调用append()添加元素。
例:在列表city的末尾添加一个元素‘xinjiapo’
city=['chongqing','jiangxi','beijing','nanchang']
city.append('xinjiapo')
print(city)
最终列表
['chongqing', 'jiangxi', 'beijing', 'nanchang', 'xinjiapo']
2、在列表中插入元素
使用insert()函数可在列表任意加入元素。为此,需要指定新元素的索引。
例:在索引为2的位置添加空间,并将值为‘xinjiapo’存储到这地方。
city=['chongqing','jiangxi','beijing','nanchang']
city.insert(2,'xinjiapo')
print(city)
输出为:
['chongqing', 'jiangxi', 'xinjiapo', 'beijing', 'nanchang']
2.3、在列表中删除元素
删除元素有两种方法:
1、使用del语句删除
使用del语句,只需要知道要删除的元素在列表中的位置即可
例:在city列表中,使用del删除city中的第一个元素‘chongqing’
输出表明,已经将city中的第一个在列表中删除
['jiangxi', 'beijing', 'nanchang']
注:使用del语句将值从列表中删除,就无法再访问它了
2、使用pop()方法删除元素
注:pop()方法把元素删除,可以继续使用它的值。
使用pop()方法有两种情况
(1)pop(),括号内无值
pop(),括号内无值时,则默认在列表的末尾删除元素。
city=['chongqing','jiangxi','beijing','nanchang']
print(city)
pop_city=city.pop()
print(city)
print(f"删除的元素为{pop_city}.")
输出:指出删除的元素
['chongqing', 'jiangxi', 'beijing', 'nanchang']
['chongqing', 'jiangxi', 'beijing']
删除的元素为nanchang.
(2)pop(),括号内有值
pop(),括号内有值时,则可以使用pop()删除列表中任意位置的元素,只需要在括号中指定要删除的元素的索引。
例:删除索引为2的元素
city=['chongqing','jiangxi','beijing','nanchang']
print(city)
pop_city=city.pop(2)
print(city)
print(f"删除的元素为{pop_city}.")
输出为:
['chongqing', 'jiangxi', 'beijing', 'nanchang']
['chongqing', 'jiangxi', 'nanchang']
删除的元素为beijing.
注:使用pop()时,被删除的元素不在列表中
3、删除是使用del语句还是pop()方法
如果在列表中删除一个数,且不再使用它,则使用del语句。反之使用pop()方法。
4、根据值删除元素
在列表中不知道要删除元素的位置,只知道值,则使用remove()方法。
例:从列表中删除‘nanchang’
city=['chongqing','jiangxi','beijing','nanchang']
print(city)
to_city='nanchang'
city.remove(to_city)
print(city)
print(f"删除的元素为{to_city}.")
使用remove()删除元素后,可继续使用它的值。只不过需要将删除的值赋给一个变量,如下为输出
['chongqing', 'jiangxi', 'beijing', 'nanchang']
['chongqing', 'jiangxi', 'beijing']
删除的元素为nanchang.
注:remove()方法只删除第一个指定的值。如果要删除的值在列表中重复多次,就需要运用到循环。
3、 管理列表
3.1、使用sort()方法对列表进行永久排序
(1)sort(),括号内无值
sort(),括号内无值,则是按照字母顺序排序
city=['chongqing','jiangxi','beijing','nanchang']
city.sort()
print(city)
能永久的修改列表元素的排列顺序,输出按字母的顺序排列
['beijing', 'chongqing', 'jiangxi', 'nanchang']
(2)sort(),括号内有值
在sort()括号内写入reverse=True,则是将列表的排列顺序按字母顺序的相反的顺序排序。
city=['chongqing','jiangxi','beijing','nanchang']
city.sort(reverse=True)
print(city)
同样,对列表元素排列顺序的修改也是永久的
['nanchang', 'jiangxi', 'chongqing', 'beijing']
3.2、使用sorted()函数对列表进行临时排序
要保留列表元素原来的排列顺序,并以特定的顺序呈现它们,可用sorted()。
city=['chongqing','jiangxi','beijing','nanchang']
print(city)
print(sorted(city)) #排序后的列表
print(city) #排序前的列表
print(sorted(city,reverse=True)) #按字母顺序相反的顺序显示列表
输出如下:
['chongqing', 'jiangxi', 'beijing', 'nanchang']
['beijing', 'chongqing', 'jiangxi', 'nanchang']
['chongqing', 'jiangxi', 'beijing', 'nanchang']
['nanchang', 'jiangxi', 'chongqing', 'beijing']
3.3、反向打印列表
使用reverse()方法
city=['chongqing','jiangxi','beijing','nanchang']
print(city) #排序前的列表
city.reverse()
print(city) #排序后的列表
注:reverse()不是按与字符顺序相反打印,而是反转列表元素的排序顺序:
['chongqing', 'jiangxi', 'beijing', 'nanchang']
['nanchang', 'beijing', 'jiangxi', 'chongqing']
3.4、确定列表的长度
运用len()函数获取列表长度