列表的初认识
现有一行字符串:
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