#列表:增,删,改,查。
names=['N0','N1','N2',['EX1','EX2'],'N3'] '''
#------------------------------------------------------切片-------------------------------------------------------
print(names)
print(names[0],names[2])
print(names[1:3])#切片
print(names[0:3])#切片,顾头不顾尾,语句效果等同[:3]可以忽略0
print(names[-1])#切片,倒序取。
print(names[3])#切片
print(names[-1:-3])#切片,错误格式,取不到
print(names[-3:-1])#切片
print(names[-4:])#切片
print(names[-2])#切片
print(names[0:-1:2])#步长切片,0或-1可以省略 #------------------------------------------------------增-----------------------------------------------------
names.append('zhuijia')#方法一,append追加,增到后面
print(names)
names.insert(1,'cha-ru')#方法二,insert定点插入,想插入在哪就输入下标
print(names)
names.insert(3,'cha-ru2')#定点插入
print(names)
#---------------------------------------------------删----------------------------------------------------
#names.remove('N1')#方法一,直接删除
#del names[1]#方法二,按下标删除
#names.pop(1)#方法三,效果和del name[]一样,不输入下标则默认删除最后一个
#del names #删除整个列表 #-------------------------------------------------------------改-------------------------------------------
names[2]='modify'#修改,直接写下标,和需要赋值的新值
#------------------------------------------------------------查------------------------------------------------
print(names.index('N2'))
print(names[names.index('N2')])
print(names.count('N2'))#统计个数
#-----------------------------------------------------------其他--------------------------------------------------
#names.clear()#清空列表
#names.reverse()#反转列表
#names.sort()#排序,顺序:特殊符号>数字>大写字母>小写字母,按ASIIC码一样排序。
#------------------------------------------------------------合并-----------------------------------------------
names2=[1,2,3,4]
names.extend(names2)
print(names,names2)
'''
#------------------------------------------------------深copy和浅copy----------------------------------------------
names=['N0','N1','N2',['EX1','EX2'],'N3']#列表里存放的是每个元素的内存地址,是一个指向。
names2=names.copy()#复制了第一层,浅拷贝是指把存放变量的地址值传给被赋值,最后两个变量引用了同一份地址,如果原地址中对象被改变了,那么浅复制出来的对象也会相应改变。
print(names)#打印['N0', 'N1', 'N2', ['EX1', 'EX2'], 'N3']
print(names2)#打印['N0', 'N1', 'N2', ['EX1', 'EX2'], 'N3']
names[2]='NewName'#修改names的N2
print(names)#打印['N0', 'N1', 'NewName', ['EX1', 'EX2'], 'N3']
print(names2)#打印['N0', 'N1', 'N2', ['EX1', 'EX2'], 'N3'],name2是不变的,因为由于它的内存地址还被name2引用,所以2的内存不会被释放,依然存在。
names[3][0]='ex1'#修改子列表
print(names)
print(names2)#此时names和names2的子列表相同,都已经改变,原因是copy过去的是一个内存地址,这里的子列表是一个内存指针,
# ,存放在大列表中是以一种内存地址的的形式。
import copy
names2=copy.deepcopy(names)#深copy在计算机中开辟了一块新的内存地址用于存放复制的对象,等于占两份独立的内存空间。
print(names)
print(names2)
names[2]='NewName'
print(names)
print(names2)
names[3][0]='ex1'#修改子列表
print(names)
print(names2)
#-------------------------------------------------------列表循环---------------------------------------------------
#for i in names:
# print(i)#打印出列表

Python列表详解的更多相关文章

  1. Python数据类型详解——列表

    Python数据类型详解--列表 在"Python之基本数据类型概览"一节中,大概介绍了列表的基本用法,本节我们详细学一下列表. 如何定义列表:在[]内以英文里输入法的逗号,,按照 ...

  2. 28.Python list列表详解

    在实际开发中,经常需要将一些(不只一个)数据暂储起来,以便将来使用.说到这里,一些读者可能知道或听说过数组,它就可以把多个数据挨个存储到一起,通过数组下标可以访问数组中的各个元素.但使用数组存储数据有 ...

  3. python 数据类型详解

    python数据类型详解 参考网址:http://www.cnblogs.com/linjiqin/p/3608541.html 目录1.字符串2.布尔类型3.整数4.浮点数5.数字6.列表7.元组8 ...

  4. python数据类型详解(全面)

    python数据类型详解 目录1.字符串2.布尔类型3.整数4.浮点数5.数字6.列表7.元组8.字典9.日期 1.字符串1.1.如何在Python中使用字符串a.使用单引号(')用单引号括起来表示字 ...

  5. Python Collections详解

    Python Collections详解 collections模块在内置数据结构(list.tuple.dict.set)的基础上,提供了几个额外的数据结构:ChainMap.Counter.deq ...

  6. python生成器详解

    1. 生成器 利用迭代器(迭代器详解python迭代器详解),我们可以在每次迭代获取数据(通过next()方法)时按照特定的规律进行生成.但是我们在实现一个迭代器时,关于当前迭代到的状态需要我们自己记 ...

  7. 转 python数据类型详解

    python数据类型详解 目录 1.字符串 2.布尔类型 3.整数 4.浮点数 5.数字 6.列表 7.元组 8.字典 9.日期 1.字符串 1.1.如何在Python中使用字符串 a.使用单引号(' ...

  8. Python数据类型详解——元组

    Python数据类型详解--元组 有时候我们的列表数据不想被别人修改时该怎么办? 此时,就可以使用元组来存放,元祖又称为只读列表,不能修改 定义方式:与列表类似,将列表的[]换成()即可. 特性: 1 ...

  9. Python数据类型详解——字典

    Python数据类型详解--字典 引子 已经学习了列表,现在有个需求--把公司每个员工的姓名.年龄.职务.工资存到列表里,你怎么存? staff_list = [ ["Kwan", ...

随机推荐

  1. 用git,clone依赖的库

    git clone https://github.com/influxdata/influxdb-java.git cd crfasrnn git submodule update --init -- ...

  2. gitea 源码阅读笔记 002 生成无依赖单文件可执行包

    gitea bindata static gitea 可以通过 make generate 生成一个单文件可执行程序, 该文件不需要任何其它依赖,直接可以单独执行. 对于用户的安装.升级和生成dock ...

  3. psi

    purchase 采购sales 销售inventory 库存 outstock/instock/inventory taking outstock/instock/inventory 出库 入库 盘 ...

  4. [sharepoint]Rest api相关知识(转)

    写在前面 最近又开始弄rest api了,通过sharepoint rest api获取站点信息,Items,fields非常方便,再结合OData查询,更是得心应手.这里记录学习的时候用到的知识点, ...

  5. 使用redis-cli --pipe快速插入数据

    具体实现步骤如下:(参考http://www.cnblogs.com/ivictor/p/5446503.html) 1. 新建一个文本文件redis_commands.txt,包含redis命令 S ...

  6. 搭建基于MySQL的读写分离工具Amoeba

    搭建基于MySQL的读写分离工具Amoeba: Amoeba工具是实现MySQL数据库读写分离的一个工具,前提是基于MySQL主从复制来实现的: 实验环境(虚拟机): 主机 角色 10.10.10.2 ...

  7. Oracle 学习笔记(五)

    --表空间,auto: 自动管理, manual: 手动管理   create tablespace  tsp1 datafile 'D:\ORACLE\ORADATA\O10\tsp1.dbf'   ...

  8. eclipse的安装和汉化

    下载 打开浏览器输入网址 www.eclipse.org/ ,回车( Enter ) 点击下载( DOWNLOAD ) 会进入一个新的页面,点击下载软件包(Download Packages) 找到对 ...

  9. Python 内置os模块的简单实用

    获取路径&目录添加文件 在自动化测试的过程,考虑到工程文件的移动或者在其他人的工作环境中运行,所以我们的路径要灵活,不能把路径写死. 推荐使用Python的内置模块OS 参照图 import ...

  10. java——IO流01

    移动文件有一种简单方法,不需要复制文件再删除文件. package com.unir.test01; import java.io.File; import java.io.IOException; ...