什么是列表
python中用[]表示列表,举个例子
name=[‘wang’,‘li’,‘zhang’,‘fang’]
列表里面可以有一系列元素,感觉和C语言中的数组很像,我尝试了下,列表可以容纳不同类型元素,比如int和str都可以出现在列表里。
列表索引
和C语言一样,列表索引也是从0开始,也就是name[0]=‘wang’
添加元素
name=['wang','li','zhang','fang']
name.append('xie')#在列表末尾加入新元素
print(name)
name.insert(1,'hao')#在第一个参数的位置插入新元素,其余元素会向后移动
print(name)
运行结果
['wang', 'li', 'zhang', 'fang', 'xie']
['wang', 'hao', 'li', 'zhang', 'fang', 'xie']
[Finished in 0.1s]
修改元素
修改元素和C语言数组修改元素一样
name=['wang','li','zhang','fang']
name[0]='zhang'
print(name)
执行结果
['zhang', 'li', 'zhang', 'fang']
[Finished in 0.1s]
删除元素
name=['wang','li','zhang','fang']
del name[0]#删除0号位置上的元素,注意del用法与其他不同,他不返回参数
print(name)
a=name.pop()#pop原理类似于栈,会弹出最后一个元素并返回其值
print(a)
print(name)
name.pop(0)#添加参数的pop能指哪打哪
print(name)
name.remove('zhang')#remove能够根据值删除元素
print(name)
执行结果
['li', 'zhang', 'fang']
fang
['li', 'zhang']
['zhang']
[]
[Finished in 0.1s]
列表排序
word=['d','c','a','b']
word.sort()#正向排序(字典序)
print(word)
word.sort(reverse=True)#逆向排序
print(word)
执行结果
['a', 'b', 'c', 'd']
['d', 'c', 'b', 'a']
[Finished in 0.1s]
上面这种排序方法是永久排序,意思就是我会永远找不到排序之前的列表,非永久排序可以用sorted(word)
需要注意的是,如果列表含有不同类型的元素如int和str,就不能进行排序了,解释器会报错。
确定列表长度
word=['d','c','a','b']
print(len(word))
返回 4 ,就能知道列表长度了。
遍历列表
word=['d','c',1,'b','a']
for i in word:
print(i)
执行结果
d
c
1
b
a
[Finished in 0.1s]
相对于c类型的语言,python的循环就很容易写。不同的是python用缩进代表同一层次的语言,而不用{}大括号了
创建数字列表
for i in range(1,5):
print(i)
打印出来是1,2,3,4;没有5,这和之前文章介绍C++的一样,英美人习惯左闭右开的区间。
列表切片
a=[i for i in range (1,11)]#创建一个从0-10的列表
print(a)#打印a
print(a[:3])#打印从开头到第三个元素(下标为2的那个元素)
print(a[-2:])#打印从倒数第二个到最后一个元素——-1表示倒数第一个,-2倒数第二个
print(a[-2:-1])#对比上面那句话,这样写是个左闭右开的区间,而不是到最后一个元素了
执行结果
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[1, 2, 3]
[9, 10]
[9]
[Finished in 0.1s]