python 3 列表操作-阿里云开发者社区

开发者社区> 开发与运维> 正文

python 3 列表操作

简介:

  创建列表subject = ["Liunx","python","web","java"]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#读取列表
 
print(subject)
 
#打印显示
['Liunx''python''web''java']
 
#列表的切片,切片的索引是从0开始的
print(subject[0]) # 0 号索引,也就是列表的第一个元素
print(subject[1])  
print(subject[2])
print(subject[3])
 
print(subject[1:3])# 读取列表的第二个元素至第四个元素,第四个元素取不到,有头无尾
print(subject[-1])#读取列表的最后一个元素
print(subject[-2]) # 读取列表的倒数第二个元素
print(subject[-3:]) #读取列表的倒数第三个元素至最后一个元素
#打印显示
Liunx
python
web
java
['python''web']
java
web
['python''web''java']

 列表的追加 

 创建 列表 subject = ["Liunx","python","web","java"]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#追加列表
subject.append("php")
 
#打印列表
 
print(subject)
['Liunx''python''web''java''php']
 
##追加内容到指定的位置
subject.insert(1,"windows"# 将windows ,插入到1号索引
 
#打印 列表
print(subject)
['Liunx''windows''python''web''java''php'# 1号索引已变成Windows 了
 
subject.insert(2,"UI")
#打印 列表
print(subject)
 
['Liunx''windows''UI''python''web''java''php']

 # 列表的删除

 创建 列表 subject = ['Liunx', 'windows', 'UI', 'python', 'web', 'java', 'php']

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#删除指定元素
subject.remove("php")
#打印列表
print(subject)
['Liunx''Unix''UI''python''web''java']
#根据索引删除
del subject[0#删除Liunx
#打印列表
print(subject)
['Unix''UI''python''web''java']
# pop 默认删除最后一个元素,此处删除java
subject.pop()
#打印列表
['Unix''UI''python''web']
#查找某个名称的索引
print(subject.index("python"))
2

 #统计元素的个数

 创建列表 subject = ['Liunx', 'windows', 'UI', 'python', 'web', 'java', 'php','python']

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
print(subject.count("python"))
print(subject)
2
 
#列表的反转
 
subject.reverse()
 
print(subject)
 
['python''php''java''web''python''UI''windows''Liunx']
 
#列表的排序  排序规则按照assci 码规则
subject.sort()
print(subject)
['Liunx''UI''java''php''python''python''web''windows']
 
# 列表的清除 
subject.clear()
print(subject)
[]

 列表的拓展  extend

 创建列表

subject = ['Liunx', 'windows', 'UI', 'python', 'web', 'java', 'php','python']

subject2 = ["a","b","c"]

1
2
3
4
5
6
7
subject.extend(subject2)
print(subject)
print(subject2)
 
#打印列表
['Liunx''windows''UI''python''web''java''php''python''a''b''c']
['a''b''c']

 #列表的copy 

 创建列表  subject = ["Liunx","python","web",["c++","ruby"],"java"] 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
subject = ["Liunx","python","web",["c++","ruby"],"java"
subject3 = subject.copy()#拷贝subject 的内容
#打印列表
print(subject)
print(subject3)
['Liunx''python''web', ['c++''ruby'], 'java']
['Liunx''python''web', ['c++''ruby'], 'java']
 
#修改 subject 元素的内容
subject[0="GNU liunx 
subject[3][0]="C++"
#打印列表
print(subject)
print(subject3)
['GNU liunx ''python''web', ['C++''ruby'], 'java'# subject 
['Liunx''python''web', ['C++''ruby'], 'java'# subject 3
 
可以看到 修改subject[0="GNU liunx  的内容没有在subject3 里面生效,subject[3][0]="C++" 这个元素生效。浅copy 只copy 一层,嵌套部分的不会被copy
,只是copy 了里面的内存地址,当subject[0="GNU liunx 相当于重新开辟了一块内存地址,所以subject3[0] 读取的元素内容还是Liunx
 
浅拷贝 对应的是深拷贝
import copy
subject = ["Liunx","python","web",["c++","ruby"],"java","PHP"# 里面重新赋值
subject[0="small liunx "
subject[3][0]="C++"
subject3 = copy.deepcopy(subject)
print(subject)
print(subject3)
['small liunx ''python''web', ['C++''ruby'], 'java''PHP']
['small liunx ''python''web', ['C++''ruby'], 'java''PHP']

 #列表的循环取值

 #创建列表  subject = ["Liunx","python","web",["c++","ruby"],"java","PHP"]

1
2
3
4
5
6
7
8
9
10
subject = ["Liunx","python","web",["c++","ruby"],"java","PHP"]
for in subject:
    print(i)
#打印列表
Liunx
python
web
['c++''ruby']
java
PHP

Python 的列表操作至此完成。




本文转自 水滴石川1 51CTO博客,原文链接:http://blog.51cto.com/sdsca/2050626,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章