Python 列表list
列表list: [ ]
类似Java中的数组. 通过索引可以取到具体位置上的值.
names = ["ZhangYang","WangGui","LiQiang"]
print(names)
print(names[0])
#取数组中相邻的一些数
names = ["Ada","Sasha","Rose","Luke","Sara"]
print(names[1:3]) #顾头不顾尾, 这样写是取索引为1和2的值.
切片
#取数组最后一位的值
print(names[-1]) #从右向左数第一位. 也可以[-2],就是取倒数第二位的值. #取数组最后两位的值
print(names[-1:-3]) #这样写会报错,因为系统是从左向右数的, 所以-1数完后边已经没有了. print(names[-3:-1]) #正确写法 #取倒数第二个和倒数第三个
print(names[-2:]) #取前两位
print(names[3]) #相当于print(names[0:3]), 0省略了
追加
names.append("Nick")
添加数据并放在中间的位置. / 修改.
names = ["Ada","Sara","Candy","Cathy","Jessica","Diana"] #添加数据插入Sara前面
names.insert(1,"Venus") #想放在哪个位置,参数就写对应的索引. #修改. 把Candy换掉.
names[2] = 'XieDi"
删除
#删除方法1:
names.remove("Ada") #删除方法2:
del names[0] #删除方法3:
names.pop() #默认删掉最后一个值.
names.pop(1) #等同于del names[1]
查找 / 清空
# 查找Ada的位置
print(names.index("Ada"))
print(names[(names.index("Ada")] #根据找到的索引打印出对应位置的值 #当存在重复数据时, 计算重复数据的个数
names = ["Ada","Sara","Cathy","Candy","Diana","Ada"]
print(names.count("Ada")) #清空列表
names.clear()
反转 / 排序
#反转列表
names = ["Ada","Sara","Cathy","Candy","Diana","Ada"] names.reverse() #排序
names.sort()
添加列表 (类似合并数组) / 删掉列表
#合并列表
names2 = [1,2,3,4] names.extend(names2) #删掉列表names2
del names2
extend和append的区别:
a = ['','','']
b = ['','']
c = ['','']
a.extend(b) # 将另一个列表的元素添加到当前列表中
print(a)
print('=====================================')
a.append(c) # 将另一个列表作为一个元素添加到当前列表中
print(a) '''
返回值
['1', '2', '3', '2', '0']
======================================
['1', '2', '3', '2', '0', ['6', '3']]
'''
复制
#复制
name2 = names.copy()
数组包含数组时修改内嵌数组中的数据
# 数组包含数组时修改内嵌数组中的数据 # 方法1 : copy 浅复制
# 数组中内嵌数组的内容在复制时,其实复制的是该内嵌数组的地址,所以当修改该内嵌数组中的数据时,无论原始数组还是复制后的数组,其内嵌数组中的数据都会随之改变.
# 但是原始数组中其他值则是直接将该值指向复制后的数组,所以当原始数组中这些值改变时,复制后的数组对应位置的值保持不变.
names = ["Ada","Jessica","Cathy","Candy","Luke",["ada","Sara","Mika"]] names2 = names.copy()
names[2] = "Lucy"
names[5][0] = "ADA"
print(names) # Cathy被修改成Lucy; ADA改成大写.
print(names2) # Cathy不改变. ADA改成大写 # 方法2: import copy, 调用copy.copy()方法和列表中的copy()一样效果
import copy
names3 = copy.copy(names)
names[0] = "Lucy"
names[5][1] = "ADA"
print(names) # Cathy被修改成Lucy; ADA改成大写.
print(names3) # Cathy不改变. ADA改成大写 # 方法3: import copy, 调用copy. deepcopy()方法. 深copy, 可以达到复制内嵌列表中值的效果
names4 = copy.deepcopy(names)
names[3] = "Lucy"
names[5][0] = "ada"
print(names) # Cathy被修改成Lucy; ADA改成大写.
print(names4) # Cathy不改变. ADA也不改变 # 方法4, 切片的方式实现浅copy
names5 = names[:] # 方法5, 另外一种浅copy的方法
names6 = list(names) # 浅copy在银行公共帐户情形中非常有用. 夫妻二人共开同一个帐户时,每个人取钱都会影响帐户中的总额.
列表的循环 / 跳着打印列表中的值
# 列表的循环
for i in names:
print(i) # 跳着打印列表中的值
print(names[0:-1:2]) # 每隔一个打印一次. 2代表步长.
print(names[::2]) # 0和-1都可以省略,所以写成这样.
Python 列表list的更多相关文章
- python 列表排序
转自http://www.iplaypython.com/jinjie/jj114.html reverse()方法 将列表中元素反转排序,比如下面这样>>> x = [1,5,2, ...
- python列表、元祖、字典
python列表 ['a','1','vs2'] 里面的值可以改 python元祖 ('a','1','css','sdf12') 里面的值不能改 python字典 {'s ...
- Python列表、元组、字典和字符串的常用函数
Python列表.元组.字典和字符串的常用函数 一.列表方法 1.ls.extend(object) 向列表ls中插入object中的每个元素,object可以是字符串,元组和列表(字符串“abc”中 ...
- Python 列表
python 列表 列表的特点 1.列表是一种可变的数据类型,这点是跟元组有区别的 2.列表中的值是有序的,并且可存放重复的值,这点跟set有区别的 3.python中的列表类似于其它语言中的数组 4 ...
- python 列表生成器
python 列表生成器 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 一个循环 在C语言等其他语言中,for循环一般是这样的 ...
- [转载] Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结
创建列表 sample_list = ['a',1,('a','b')] Python 列表操作 sample_list = ['a','b',0,1,3] 得到列表中的某一个值 value_star ...
- Python 列表如何获得一个指定元素所在的下标
在使用Python3.4读取txt数据到列表,由于编码问题,读取到的数据通常会出现'\ufeffX'(x为你想要的数据).这时候如果需要把列表中的数据由字符串转换到数值型的数据的进行数据分析的话就会出 ...
- python列表的常用操作方法
主要介绍了Python中列表(List)的详解操作方法,包含创建.访问.更新.删除.其它操作等,需要的朋友可以参考下. 1.创建列表.只要把逗号分隔的不同的数据项使用方括号括起来即可 List = [ ...
- !!对python列表学习整理列表及数组详细介绍
1.Python的数组分三种类型:(详细见 http://blog.sina.com.cn/s/blog_6b783cbd0100q2ba.html) (1) list 普通的链表,初始化后可以通过特 ...
- (转载)Python 列表(list)操作
(转载)http://blog.csdn.net/facevoid/article/details/5338048 创建列表sample_list = ['a',1,('a','b')] Python ...
随机推荐
- 关于IOS中使用支付功能(以支付宝为例)
支付宝是第三方支付平台,简单来说就是协调客户,商户,银行三者关系的方便平台 使用支付宝进行一个完整的支付功能,大致有以下步骤: a 与支付宝进行签约,获得商户ID(partner)和账号ID(sell ...
- 服务器:SATA、PATA及IDE的比较
SATA SATA全称是Serial Advanced Technology Attachment(串行高级技术附件,一种基于行业标准的串行硬件驱动器接口),是由Intel.IBM.Dell.APT. ...
- Mac OS X下各种文件编码的转换方法
何曾几时本猫还在windows下编码的时候,那时ruby的源代码的编码格式都是gbk啊!导致N多中文显示为乱码.后来无奈写了个转换代码从gbk编码转为utf-8格式的小工具: #!/usr/bin/r ...
- jdk1.7 tomcat-7安装
由于软件下载地址经常有变动,所以不能直接wget,还是直接到网上点击下载 下载jdk http://www.oracle.com/technetwork/java/javase/downloads/j ...
- python之多继承与__mro__的使用
1 class Base(object): def text(self): print('------text-----') class A(Base): def text(self): print( ...
- 学习一下DOM中的cloneNode()与cloneNode(true)的基础知识
带你去熟悉HTML dom中当然cloneNode()与cloneNode(true)之间区别 code <!DOCTYPE html> <html> <head> ...
- MySQL/MariaDB的锁
本文目录: 1.MariaDB/MySQL事务提交的方式 2.MariaDB/MySQL中的锁简介 2.1 不同存储引擎支持的锁级别 2.2 锁类型 2.3 锁兼容性 3.MyISAM的表级锁(loc ...
- access treeview读取数据表成树并与子窗体联动
Private Sub Form_Load()Dim i As IntegerDim rst As DAO.RecordsetSet rst = CurrentDb.OpenRecordset(&qu ...
- Dubbo入门—搭建一个最简单的Demo框架
一.Dubbo背景和简介 1.电商系统的演进 Dubbo开始于电商系统,因此在这里先从电商系统的演变讲起. a.单一应用框架(ORM) 当网站流量很小时,只需一个应用,将所有功能如下单支付等都部署在一 ...
- 关于windows修改远程登录端口的问题
windows远程桌面默认使用的是3389,为了避免被别用用心的扫描从而暴力破解远程服务器或者vps的账户信息.可以修改默认端口3389到其它端口,如8000,10000等.最好修改为10000以后的 ...