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 ...
随机推荐
- html5中新增的元素和废除的元素
一.新增的结构元素 1.section元素表示页面中的一个内容区块,比如章节.页眉.页脚或页面中的其他部分.它可以与h1.h2.h3.h4.h5.h6等元素结合起来使用,标示文档结构. h5中的代码事 ...
- SpringBoot yml 配置
1. 在 spring boot 中,有两种配置文件,一种是application.properties,另一种是application.yml,两种都可以配置spring boot 项目中的一些变量 ...
- Spring Cloud 入门教程 - Eureka服务注册与发现
简介 在微服务中,服务注册与发现对管理各个微服务子系统起着关键作用.随着系统水平扩展的越来越多,系统拆分为微服务的数量也会相应增加,那么管理和获取这些微服务的URL就会变得十分棘手,如果我们每新加一个 ...
- 关于Linux和Unix的分析
Linux操作系统即linux. Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软 ...
- Viavdo&ISE&Quartus II级联Modelsim级联仿真
博主一直致力寻找高效的工作方式,所以一直喜欢折腾软件,从刚开始只用软件IDE自带的编辑器,到Notepad++,再到后来的Vim,从用ISE14.7自带的Isim仿真,到发现更好的Modelsim,再 ...
- Golang之Context的使用
转载自:http://www.nljb.net/default/Golang%E4%B9%8BContext%E7%9A%84%E4%BD%BF%E7%94%A8/ 简介 在golang中的创建一个新 ...
- FFPLAY的原理(六)
显示视频 这就是我们的视频线程.现在我们看过了几乎所有的线程除了一个--记得我们调用schedule_refresh()函数吗?让我们看一下实际中是如何做的: static void schedule ...
- 中国的UED们
UED网址导航:http://www.ux265.com/ 天猫UED:http://ued.tmall.com/ 一淘UED:http://ux.etao.com/ 淘宝UED:http://ued ...
- 启动eclipse时候提示错误Error:Could not create the Java Virtual Machine. Error:A Fatal exception has occurred,Program will exit.
我的是neon3版本 解决办法是: 首先把这两个选项勾选,才能看到eclipse.ini完整的文件名.然后用记事本等工具打开编辑. 新版的里面原本是这样: -startup plugins/org.e ...
- codeforces——961B. Lecture Sleep
本文为博主原创文章,未经允许不得转载. 我在csdn也同步发布了此文,链接 https://blog.csdn.net/umbrellalalalala/article/details/7989196 ...