ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python3——关于“list”的使用练习笔记

2022-02-09 02:01:03  阅读:181  来源: 互联网

标签:zhaoer list 笔记 wangwu lisi names print --------- Python3


__Author__ = "MDJ"
#列表
names = "zhaoer zhangsan lisi wangwu"

names = ["zhaoer","zhangsan","lisi","wangwu"]

print(names[0],names[2]) #取0、2
print(names[1:3]) #顾头不顾尾,只取出1、2
print(names[-1]) #从右开始数切片,-1是最后一个
print(names[-3:-1]) #顾头不顾尾
print(names[-3:]) #取到最后一个

print("---------追加、插入-----------")

names.append("mengdajia") #追加
names.insert(1,"xiaomeng") #插入
print(names)

print("----------插入后对比----------")

print(names[0],names[2]) #取0、2
print(names[1:3]) #顾头不顾尾,只取出1、2
print(names[-1]) #从右开始数切片,-1是最后一个
print(names[-3:-1]) #顾头不顾尾
print(names[-3:]) #取到最后一个
print(names[0:-1:2]) #步长为2
print(names[::2]) #0和-1可以省略

print("----------remove删除----------")
names.remove("xiaomeng") #删除
print(names)

print("----------del删除----------")
del names[-1] #删除第 个
print(names)

print("-----------pop删除---------")
names.pop(1) #不输入下标,删除最后一个值
print(names)

print("-----------index查询---------")
print(names.index("lisi")) #查询某人的位置
print(names[names.index("lisi")]) #根据返回的位置输出该值

print("-----------count数量---------")
print(names.count("lisi"))

print("-----------翻转---------")
print(names.reverse()) #翻转
print(names)
print(names.sort()) #sort排序
print(names)

print("-----------合并---------")
names2 = [1,2,3]
names.extend(names2) #extend合并列表
print(names)
print(names2) #被合并表不变

print("-----------赋值、复制---------")
names[names.index("wangwu")] = ["wangwu","xiaowangwu"]
names2 = names #AAA-直接赋值,则只是赋值了起始地址(类似指针)
names3 = names.copy() #BBB-copy,浅copy只能copy第一层,第一层保存的是第二层的地址(类似指针)
names2[names2.index("lisi")] = "李四" #AAA-直接赋值只是赋予地址指针,所以实际内容会被同步替换
names3[names3.index("zhaoer")] = "赵二" #BBB-copy是复制了第一层表的内容,两个表内容地址不一致,所以可以独立替换
names3[1][names3[1].index("wangwu")] = "王五" #BBB-copy是浅copy,指向的二层列表的地址是同一个,所以新旧表替换第二层内容时会被一起替换
import copy
names4 = copy.deepcopy(names) #CCC-深copy,完全开辟空间
names4[1][names4[1].index("xiaowangwu")] = "小王五"
print(names)
print(names2)
print(names3)
print(names4)

print("-----------清理---------")
print(names.clear()) #清理,先执行清理方法后打印
print(names) #上一步清理后,源表已为空

补充浅COPY的几种方法:
names = ["张三","李四","王五"]
names1 = list(names)
names2 = names[:] #忽略首0、尾-1
import copy
names3 = copy.copy(names)
执行结果如下:

zhaoer lisi
['zhangsan', 'lisi']
wangwu
['zhangsan', 'lisi']
['zhangsan', 'lisi', 'wangwu']
---------追加、插入-----------
['zhaoer', 'xiaomeng', 'zhangsan', 'lisi', 'wangwu', 'mengdajia']
----------插入后对比----------
zhaoer zhangsan
['xiaomeng', 'zhangsan']
mengdajia
['lisi', 'wangwu']
['lisi', 'wangwu', 'mengdajia']
['zhaoer', 'zhangsan', 'wangwu']
['zhaoer', 'zhangsan', 'wangwu']
----------remove删除----------
['zhaoer', 'zhangsan', 'lisi', 'wangwu', 'mengdajia']
----------del删除----------
['zhaoer', 'zhangsan', 'lisi', 'wangwu']
-----------pop删除---------
['zhaoer', 'lisi', 'wangwu']
-----------index查询---------
1
lisi
-----------count数量---------
1
-----------翻转---------
None
['wangwu', 'lisi', 'zhaoer']
None
['lisi', 'wangwu', 'zhaoer']
-----------合并---------
['lisi', 'wangwu', 'zhaoer', 1, 2, 3]
[1, 2, 3]
-----------赋值、复制---------
['李四', ['王五', 'xiaowangwu'], 'zhaoer', 1, 2, 3]
['李四', ['王五', 'xiaowangwu'], 'zhaoer', 1, 2, 3]
['lisi', ['王五', 'xiaowangwu'], '赵二', 1, 2, 3]
['李四', ['王五', '小王五'], 'zhaoer', 1, 2, 3]
-----------清理---------
None
[]

进程已结束,退出代码0

标签:zhaoer,list,笔记,wangwu,lisi,names,print,---------,Python3
来源: https://www.cnblogs.com/mdjblogs/p/15873488.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有