新手小白 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']

 

posted @ 2017-07-15 17:42  凌寒初见  阅读(184)  评论(0)    收藏  举报