首页 > 代码库 > 新手小白 python之路 Day2 (列表应用)

新手小白 python之路 Day2 (列表应用)

今天整理了下 python 列表的应用  

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author: linghanchujian

# 列表应用

Array = ["Ling","Han","Chu","Jian"]
Array1 = [1,2,3]
print("---原来列表: "+str(Array))

Str = "Linghan"
Array.append(Str)
print("---append添加列表末尾: "+str(Array))

Str1 = "Chujian"
Array.insert(2,Str1)
print("---添加到列表第三个: "+str(Array))

Array.remove("Linghan")
print("---删除列表中‘Linghan‘字段: "+str(Array))

del Array[3]
print("---删除列表中第三个: "+str(Array))

Array.pop()
print("---pop不添加参数默认删除列表最后一个: "+str(Array))

print("---查询列表第一个的值: "+str(Array[0]))

print("---查询列表第二个和第三个: "+str(Array[1:3]))

print("---查询列表第三个和第四个: "+str(Array[-2:]))

print("---查询列表末尾的值: "+str(Array[-1]))

print("---查询列表字段‘Han‘的位置: "+str(Array.index("Han")))

Str3 = "Linghanchujian"
Array.append(Str3)
Array.insert(2,Str3)
print("---查询列表中‘Linghanchujian‘字段有几个: "+str(Array.count(Str3)))

Array.sort()
print("---列表排序: " + str(Array))

Array.reverse()
print("---列表倒序: " + str(Array))

Array.extend(Array1)
print("---合并列表: "+ str(Array))

Array.clear()
print("---清空列表: " + str(Array))

del Array  #删除列表
del Array1


"""
由于copy 比较特殊就单独演示下
"""

"""
没用引用copy模块,使用自带的copy
"""
SetArray = ["Ling","Han","Chu","Jian"]
SetArray1 = SetArray.copy()
print("---copy分别打印SetArray,SetArray1: "+str(SetArray),str(SetArray1))
"""
修改SetArray中"Han"字段
"""
SetArray[1] = "Linghan"
print("---修改后分别打印SetArray,SetArray1: "+str(SetArray),str(SetArray1))
"""
发现SetArray中"Han"字段该变成"Linghan" 而SetArray1 没有改变 复制体和原来的互不影响
但是 这次 我们换成 --列表嵌套--
"""
SetArray2 = ["Ling",["Han","Leng"],"Chu","Jian"]
SetArray3 = SetArray2.copy()
SetArray2[1][0] = "Bing"
print("---修改后分别打印SetArray2,SetArray3: "+str(SetArray2),str(SetArray3))
"""
发现SetArray2修改后对copy的SetArray3产生影响
原因大概是--主列表只是存储了嵌套列表在内存中的地址--
这时我们引用 copy 模块 看看
"""
import copy

SetArray4 = ["Ling",["Han","Leng"],"Chu","Jian"]
SetArray5 = copy.copy(SetArray4)
SetArray4[1][0] = "Bing"
print("---修改后分别打印SetArray4,SetArray5: "+str(SetArray4),str(SetArray5))
"""
额! 好吧是我想当然了,那么现在看来完全复制看看行不行
"""
SetArray6 = ["Ling",["Han","Leng"],"Chu","Jian"]
SetArray7 = copy.deepcopy(SetArray6)
SetArray6[1][0] = "Bing"
print("---修改后分别打印SetArray6,SetArray7: "+str(SetArray6),str(SetArray7))
"""
嗯,这就没什么不对了
"""

下面是运行结果

---原来列表: [Ling, Han, Chu, Jian]
---append添加列表末尾: [Ling, Han, Chu, Jian, Linghan]
---添加到列表第三个: [Ling, Han, Chujian, Chu, Jian, Linghan]
---删除列表中Linghan字段: [Ling, Han, Chujian, Chu, Jian]
---删除列表中第三个: [Ling, Han, Chujian, Jian]
---pop不添加参数默认删除列表最后一个: [Ling, Han, Chujian]
---查询列表第一个的值: Ling
---查询列表第二个和第三个: [Han, Chujian]
---查询列表第三个和第四个: [Han, Chujian]
---查询列表末尾的值: Chujian
---查询列表字段Han的位置: 1
---查询列表中Linghanchujian字段有几个: 2
---列表排序: [Chujian, Han, Ling, Linghanchujian, Linghanchujian]
---列表倒序: [Linghanchujian, Linghanchujian, Ling, Han, Chujian]
---合并列表: [Linghanchujian, Linghanchujian, Ling, Han, Chujian, 1, 2, 3]
---清空列表: []
---copy分别打印SetArray,SetArray1: [Ling, Han, Chu, Jian] [Ling, Han, Chu, Jian]
---修改后分别打印SetArray,SetArray1: [Ling, Linghan, Chu, Jian] [Ling, Han, Chu, Jian]
---修改后分别打印SetArray2,SetArray3: [Ling, [Bing, Leng], Chu, Jian] [Ling, [Bing, Leng], Chu, Jian]
---修改后分别打印SetArray4,SetArray5: [Ling, [Bing, Leng], Chu, Jian] [Ling, [Bing, Leng], Chu, Jian]
---修改后分别打印SetArray6,SetArray7: [Ling, [Bing, Leng], Chu, Jian] [Ling, [Han, Leng], Chu, Jian]

 

新手小白 python之路 Day2 (列表应用)