码迷,mamicode.com
首页 > 编程语言 > 详细

python 3 列表操作

时间:2017-12-14 15:55:03      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:python3   列表操作   深浅copy   

  

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

#读取列表

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"]

#追加列表
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']

#删除指定元素
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']

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"]

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"] 

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"]

subject = ["Liunx","python","web",["c++","ruby"],"java","PHP"]
for i in subject:
    print(i)
#打印列表
Liunx
python
web
['c++', 'ruby']
java
PHP

Python 的列表操作至此完成。

python 3 列表操作

标签:python3   列表操作   深浅copy   

原文地址:http://blog.51cto.com/sdsca/2050626

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!