列表是什么

列表是一系列按特定顺序排列的元素组成。可以将任何东西加入列表中,其中的元素可以没有任何关系。用[]来表示列表,并用,来分割其中元素

访问列表元素

列表是有序集合,可指出列表的名称和索引来访问元素,索引要放在方括号里

bicycles=['a','s','d','w']
print(bicycles[0])
a

当你请求获取列表元素时,python只返回该元素,不包括引号和方括号

你也可以用第二章的方法title()

print(bicycles[0].title())

索引从0开始而不是从1开始

从头开始索引为0,依次递加。

也可从末尾开始,末尾索引为-1,-2返回倒数第二个值

bicycles=['a','s','d','w']
print(bicycles[-1])
print(bicycles[-2])

使用列表的值

bicycles=['trek','redline']
m='my first bicycles was a '+bicycles[0].title()+'.'
print(m)

修改,添加和删除元素

修改列表元素

指定列表名和要修改元素的索引,在指定该元素的新值

m=['a','s','d']
print(m)
m[0]='x'
print(m)

在列表中添加元素

在末尾添加元素,使用方法append()将元素附加到列表末尾,而不影响列表中的其他元素

m=['a','s','d']
print(m)
m.append('x')
print(m)     #注意不能用print(m.append('x'))

在列表中插入元素

使用方法insert()可在列表的任何位置插入新的元素,需要知道新元素的值和索引

m=['a','s','d']
m.insert(0,'x')
print(m)
['x', 'a', 's', 'd']

这种操作让每个元素都右移一个位置

在列表中删除元素

根据位置和值来删除列表的元素

m=['a','s','d']
print(m)
del m[0]
print(m)
['a', 's', 'd']
['s', 'd']

使用del语句来删除元素,条件是知道索引,在使用del之后,你就无法在访问这个元素了

m=['a','s','d']
print(m)
poped_m=m.pop()
print(m)
print(poped_m)

方法pop()可删除列表的末尾元素,并接着使用这个值,只需把这个值赋给一个变量

m=['a','s','d']
print(m)
poped_m=m.pop(1)
print(m)
print(poped_m)

实际上可以用pop.()来删除任何一个元素,只需输入它的索引

如果你需要删除的这个值,那就用pop.()。不需要用这个值就用del语句

当然你也可以使用值来删除元素,使用方法remove()

m=['a','s','d']
print(m)
m.remove('s')
print(m)

remove()只删除第一个指定的值

组织列表

使用方法sort()对列表进行永久性排序

cars=['bmw','audi','subaru','toyota']
cars.sort()
print(cars)
['audi', 'bmw', 'subaru', 'toyota']

这是按照字母顺序排列的,再也无法恢复原来的顺序

你也可以用字母顺序相反的顺序排列元素,只需向sort()传递参数reverse=True

cars=['bmw','audi','subaru','toyota']
cars.sort(reverse=True)
print(cars)
['toyota', 'subaru', 'bmw', 'audi']

使用函数sorted()对列表进行临时的排序,这个不会影响他们在列表的原始排列顺序

cars=['bmw','audi','subaru','toyota']
print(cars)
print(sorted(cars))
print(cars)
['bmw', 'audi', 'subaru', 'toyota']
['audi', 'bmw', 'subaru', 'toyota']
['bmw', 'audi', 'subaru', 'toyota']

如果你要按照字母相反顺序显示列表,也可向函数sorted()传递参数reverse=True

倒着打印列表

可使用方法reverse(),它不是按照字母相反的顺序排列,只是把列表元素倒了过来而已

cars=['bmw','audi','subaru','toyota']
print(cars)
cars.reverse()
print(cars)

方法reverse()永久的修改列表的元素顺序,但是只要再次对列表调用reverse()即可

确定列表的长度

使用函数len()可获得列表的长度,即元素的个数

cars=['bmw','audi','subaru','toyota']
len(cars)

使用列表时避免索引错误

注意索引从0开始,要打印最后一个元素,可用-1