主要涉及列表的潜复制(第二层受后面修改的影响)和深复制(不受后面修改的影响)

代码如下

# coding=utf-8
# Author: RyAn Bi
import copy
names = ['A','B','C','D']
'''
print(names)
print(names[0]) #从0开始记录
print(names[1],names[2])
print(names[1:3]) #不包含3
print(names[3])
print(names[-1]) #倒着数
print(names[-2:]) #取-2到-1,由于没有办法包含-1,所以不写 names.append('F') #在最后追加一个F
names.insert(1,'E') #在1的位置,加入E,之后依次后挪
print(names) names[2] = 'G' #修改了2号的名字
print(names) names.remove('G') #删除G
print(names)
del names[1] #删除下标1
print(names)
names.pop()#默认删除最后一个,如果加入下标1,相当于删除下标1,等同于del names[1]
print(names)
print(names.index('A')) #找A的位置
print(names[names.index('A')]) #找到A的位置,并打印A
names.insert(1,"A")
print(names.count('A')) #统计A的数量
#names.clear() #清空列表
names.reverse() #翻转列表
print(names)
names.sort() #排序,默认顺序(ask码中的排序)
print(names)
names2=[1,2,3,5] names.extend(names2) #将names和names2合并
print(names,names2)
del names2 #删除name2表
'''
names3 = ['A','B',['bb','cc'],'C','D']
names2 = names3.copy() # 复制一份names,潜复制,只能复制第一层,之后,第一层改动不会变
names4 = names3 # 完全一样,后面改动,也会改动
names5 = copy.deepcopy(names3) #调用copy模块里的copy,之后怎么改动,哪一层都不会变
print(names3)
print(names2)
names3[3]='第' #修改下标3,只在names3中改,names2不改(潜copy,第一层直接copy)
names3[2][0]='毕' #修改下标2中的下标1,这个name3和那么2中都改(潜copy,列表实际上内存中的一个指针,你只copy了地址),第二层的不会被copy
print('name3:',names3) # 原始值,改动后
print('name2:',names2) # 潜copy,第一层不变,第二层由于指向内存里内容变了,所以变了
print('name4:',names4) #赋值复制,第一层和第二层都变了
print('name5:',names5) #深copy,必须调用copy模块,第一层和第二层都不变 for i in names2:
print(i) print(names2[0:-1:2]) #打印偶数位
print(names2[::2]) #同上

python学习,day2:列表的复制的更多相关文章

  1. Python学习02 列表 List

    Python学习02 列表 List Python列表 List Python中的列表(List)用逗号分隔,方括号包围(comma-separated values (items) between ...

  2. Python学习3——列表和元组

    一.通用序列操作——索引.切片.相加.相乘.成员资格检查 1.索引,正序从0开始为第一个元素,逆序从-1开始,-1为最后一个元素 >>> greeting[0] 'h' >&g ...

  3. python学习笔记——列表生成式与生成器

    1.列表生成式(List Comprehensions) python中,列表生成式是用来创建列表的,相较于用循环实现更为简洁.举个例子,生成[1*1, 2*2, ... , 10*10],循环用三行 ...

  4. Python基础之列表深浅复制和列表推导式

    一.列表深浅复制: 浅拷贝内存图如下: 深拷贝内存图如下: 二.列表推导式: 实例: """ 列表推导式 练习:exercise01 """ ...

  5. python学习之列表的定义以及增删改查

    列表定义: >>> name['lily','lucy','tom'] >>> nums = [11,22,33,'100','lily'] #python中的列表 ...

  6. python学习day2

    一.模块初识 python模块 模块让你能够有逻辑地组织你的Python代码段. 把相关的代码分配到一个 模块里能让你的代码更好用,更易懂. 模块也是Python对象,具有随机的名字属性用来绑定或引用 ...

  7. Python学习-day2

    这周时间充裕,把第一周的两个作业登陆验证和三级菜单做完后又用零零散散的时间看完了第二周的课程,不得不说老男孩这个教育方式感觉还是不错的,其实说白了就是花钱找个人监督自己学习呗,而且还强行让我们养成一些 ...

  8. python学习之列表语法

    1.列表 1 list.append(obj)在列表末尾添加新的对象2 list.count(obj)统计某个元素在列表中出现的次数3 list.extend(seq)在列表末尾一次性追加另一个序列中 ...

  9. Python学习三|列表、字典、元组、集合的特点以及类的一些定义

    此表借鉴于他人 定义 使用方法 列表 可以包含不同类型的对象,可以增减元素,可以跟其他的列表结合或者把一个列表拆分,用[]来定义的 eg:aList=[123,'abc',4.56,['inner', ...

  10. day3.python 学习之列表

    python中列表用[ ]表示, list =  [ ] #表示一个空列表 1.list = [ 'A','B','C',‘D’] print(list[0]) # 表示打印出列表中的第一个元素,列表 ...

随机推荐

  1. 2018 Spring Single Training B (uva 572,HihoCoder 1632,POJ 2387,POJ 2236,UVA 10054,HDU 2141)

    这场比赛可以说是灰常的水了,涨信心场?? 今下午义务劳动,去拿着锄头发了将近一小时呆,发现自己实在是干不了什么,就跑到实验室打比赛了~ 之前的比赛补题补了这么久连一场完整的都没补完,结果这场比完后一小 ...

  2. 【bzoj1019】[SHOI2008]汉诺塔

    1019: [SHOI2008]汉诺塔 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 1427  Solved: 872[Submit][Status] ...

  3. c++ deque 容器

    deque (全名 double ended queue)是一种具有队列和栈一样的数据结构. 在c++标准库中几乎和vector容器的接口完全相同,但它和vector 还是有一些细微的差别. 1. d ...

  4. 521. Longest Uncommon Subsequence I 最长不同子数组

    [抄题]: [暴力解法]: 时间分析: 空间分析: [优化后]: 时间分析: 空间分析: [奇葩输出条件]: [奇葩corner case]: [思维问题]: [一句话思路]: 两个单词的话,就是看谁 ...

  5. Luogu 5043 【模板】树同构([BJOI2015]树的同构)

    BZOJ 4337 简单记录一种树哈希的方法:以$x$为根的子树的哈希值为$\sum_{y \in son(x)}f_y*base_i$,$f_y$表示以$y$为根的树的哈希值,其中$i$表示$f_y ...

  6. Reading——The Non-Designer's Design Book

    看这本书的时候真的好恨没有CS7在手><,不然我百度几张图来模拟下,体验下设计的快感. 人们总是很容易注意到在他们潜意识里存在的东西,比如说这个图:    我们很容易联想到微信,但是3   ...

  7. 登录到 SQL Server 实例

    登录到 SQL Server 实例(命令提示符)   登录到 SQL Server 的默认实例 从命令提示符输入以下命令,使用 Windows 身份验证进行连接:     sqlcmd [ /E ] ...

  8. 编写高质量代码改善C#程序的157个建议——建议13: 为类型输出格式化字符串

    建议13: 为类型输出格式化字符串 有两种方法可以为类型提供格式化的字符串输出.一种是意识到类型会产生格式化字符串输出,于是让类型继承接口IFormattable.这对类型来 说,是一种主动实现的方式 ...

  9. Ubuntu下vi编辑器不听话

    编辑文件/etc/vim/vimrc.tiny,将“compatible”改成“nocompatible”非兼容模式: 并添加一句:set backspace=2 

  10. 数组Byte [] 和 string 相互转换

    using System; using System.Collections.Generic; using System.Text; namespace NET.MST.Fourth.StringBy ...