创建列表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 的列表操作至此完成。