列表的初认识

现有一行字符串:

letters=['A','B','C','D']

当运行以下python程序时:

letters=['A','B','C','D']
print(letters)

则会输出

[ ‘A’ , ’B’ , ’C’ , ’D’ ]

我们可以看到,输出的结果里面有大括号以及单引号,这显然是不美观的结果。

假如我们想输出 A

我们可以改为:

letters=['A','B','C','D']
print(letters[0])

而我们想输出

D

我们可以改为:

letters=['A','B','C','D']
print(letters[3])

同时我们发现,字母D在这行字符串里面是倒数第一个

所以我们还可以改为:

letters=['A','B','C','D']
print(letters[-1])

假如有一串很长的字符串,你难以按从左到右数你要的在那一位,但是你知道你要的在倒数第几个,则可以用这个方法 。

要注意的是,在python的序列中索引和C语言数组中的索引一致,是从0开始。

由此,我们可以打出:

letters=['A','B','C','D']
message="I want get a "+letters[0]+"."

print(message)

最后得出“I want get a A.”这句话。

修改列表元素

还是以

letters=['A','B','C','D']

这个字符串举例

假如我想把D换成E,并且我们知道D在letters里面是[3]或[-1]

所以我们可以打出如下代码:

letters=['A','B','C','D']
letters[3]='E'#或是letters[-1]='E'

print(letters)

则最后输出:

['A', 'B', 'C', 'E']

增加列表元素

还还是以

letters=['A','B','C','D']

这个字符串举例

如果我想在元素后面加E

则要加

XXX.append(‘要加的元素’)

这行代码

如:

letters.append('E')

完整为:

letters=['A','B','C','D']
letters.append('E')

print(letters)

最后输出为:

['A', 'B', 'C', 'D', 'E']

同时我们可以一开始就创造一个空列表

然后利用append输入元素

如:

letters=[]
letters.append('A')
letters.append('B')
letters.append('C')
letters.append('D')
letters.append('E')

print(letters)

输出的依然是:

['A', 'B', 'C', 'D', 'E']

从列表中删除元素

还还还是以

letters=['A','B','C','D']

这个字符串举例

直接删除(del)

如果我想直接删除元素后面加D

则要加del XXX[该元素所在位置]

如:

del letters[3]

完整为:

letters=['A','B','C','D']
del letters[3]#或是del letters[-1]

print(letters)

最后输出为:

['A', 'B', 'C']

删除后接着使用(pop)

如果我想删除后接着使用元素

则要用到XXX.pop()

如:

popped_letter=letters.pop()

完整为:

letters=['A','B','C','D']
popped_letter=letters.pop()

print(letters)
print(popped_letter)

最后输出为:

['A', 'B', 'C']

D

pop()括号没数字默认为列表最后元素

而有数字则是指定该列表中对应数字的元素

如:

letters=['A','B','C','D']
popped_letter=letters.pop(0)

print(letters)
print(popped_letter)

最后输出

['B', 'C', 'D']

A

根据数值删除(remove)

如果我想删除B,但是我不知道B在列表里面位置

则要用到XXX.remove(‘该元素数值’)

如:

letters.remove('B')

完整为:

letters=['A','B','C','D']
letters.remove('B')

print(letters)

 

最后输出为:

['A', 'C', 'D']

但是方法remove()只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值。

组织列表

XXX.sort():永久性排序

我们以

letters=['B','C','A','D']

 这个字符串举例

letters=['B','C','A','D']
letters.sort()

print(letters)

 

最后输出为:

['A', 'B', 'C', 'D']

如果想逆向排序,只需在sort后面括号加上reverse=Ture

最后输出为:

['D', 'C', 'B', 'A']

sorted(XXX):暂时性排序:

假如我们在某一个地方要让这行字符串排序,但是“总揽大局”,不能影响其初始顺序,就可以用这个。

如:

letters=['B','C','A','D']

print(letters)
print(sorted(letters))
print(letters)

最后输出为:

['B', 'C', 'A', 'D']

['A', 'B', 'C', 'D']

['B', 'C', 'A', 'D']

倒着打印列表

用XXX.reverse()

如:

letters=['B','C','A','D']

letters.reverse()
print(letters)

最后输出为:

['D', 'A', 'C', 'B']

确定列表长度

用len(XXX)

如:

 

letters=['B','C','A','D']

print(len(letters))

最后输出为:

4