【python】-- 列表
Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推
列表
1、定义列表,取出列表中的值
names = [] #定义空列表
names = ['a','b','c'] #定义一个非空列表 # 取出列表中的值 >>> names = ['a','b','c']
>>> names[0]
'a'
>>> names[1]
'b'
>>> names[2]
'c'
>>> names[-1]#倒着取最后一个值
'c'
2、切片
>>> names = ['a','b','c','d'] # 列表的下标值是从0开始取值的
>>> names[1:3] #取1到3之间的元素,包括1,不包括3
['b', 'c']
>>> names[1:-1] #取1到-1之间的元素,包括1,不包括-1
['b', 'c']
>>> names[0:3]
['a', 'b', 'c']
>>> names[:3] #从头开始取,0可以省略,效果等同于names[0:3]
['a', 'b', 'c']
>>> names[3:] #想取到最后一个值,必须不能写-1,只能这么写
['d']
>>> names[0::2] #后面的2表示:每隔一个元素就取一个
['a', 'c']
>>> names[::2] #从头开始0可以省略,效果跟上一句一样
['a', 'c']
切片小结:
①序列始终都是从左向右切片的,不能是从右向左
①列表切片时,起始位的元素是包括的,结束位的元素是不包括(又叫顾头不顾尾),最后一个位置表示步长(names[开始位:结束位:步长])
②如果从0位置取值,0可以省略
③想取最后一个值时,结束位不能是-1,因为结束位的元素不包括,所以只能留空
3、列表函数&方法
函数:
方法:
演示:
# append 列表末尾添加新的对象
>>> names = ['a','b','c','d']
>>> names.append('e')
>>> names
['a', 'b', 'c', 'd', 'e']#e是新加的元素 # insert(下标值,插入的内容)
>>> names = ['a','b','c','d']
>>> names.insert(0,'') #0表示需要插入的下标值,'1'表示插入的内容
>>> names
['', 'a', 'b', 'c', 'd'] #在下标值为0的地方插入'1' #修改列表中的元素,直接是 names[下标值] = 新值
>>> names = ['a','b','c','d']
>>> names[1] = ''
>>> names
['a', '', 'c', 'd'] #扩展(extend)names2的列表合并到names1中,但是,names2这个列表依然存在,如果想删除names2这个变量,则只需del names2即可
>>> names1 = ['a','b','c','d']
>>> names2 = [1,2,3,4]
>>> names1.extend(names2)
>>> names1
['a', 'b', 'c', 'd', 1, 2, 3, 4] #统计(count(元素))
>>> names = ['a','b','c','d','a']
>>> names.count('a') #统计'a'元素的个数
2 #翻转(reverse())
>>> names = ['a','b','c','d']
>>> names.reverse()
>>> names
['d', 'c', 'b', 'a'] #将整个列表翻转过来 #排序(sort())
>>> names = [4,2,3,1]
>>> names.sort()
>>> names
[1, 2, 3, 4] #获取下标值(index(元素))
>>> names = ['a','b','c','d']
>>> names.index('a')
0 #清空列表(clear())
>>> names = ['a','b','c','d']
>>> names.clear()
>>> names
[]
删除(del、remove(元素)、pop())
#根据下标值删除元素
>>> names = ['a','b','c','d']
>>> del names[0]
>>> names
['b', 'c', 'd']
#根据元素删除
>>> names = ['a','b','c','d']
>>> names.remove('a')
>>> names
['b', 'c', 'd']
#删除最后一个
>>> names = ['a','b','c','d']
>>> names.pop()
'd'
>>> names
['a', 'b', 'c']
扩展:
#如果pop()中有下标值,则是删掉具体某个元素,其效果和del的效果是一样的
>>> names = ['a','b','c','d']
>>> names.pop(1) #在输入下标值得情况下和del的效果是一样的
'b'
>>> names
['a', 'c', 'd'] #del关键字不仅可以删除列表中的元素,也可以删除变量
names = ['a','b','c','d']
#删除names这个变量
del names
copy:
>>> names = ['a','b','c','d']
>>> names2 = names.copy()
>>> names2
['a', 'b', 'c', 'd']
注:这边的copy都是浅copy,只能copy第一层。深浅拷贝的详细信息:点击这里
【python】-- 列表的更多相关文章
- 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 ...
随机推荐
- Python - 连续替换(replace)的正則表達式(re)
字符串连续替换, 能够连续使用replace, 也能够使用正則表達式. 正則表達式, 通过字典的样式, key为待替换, value为替换成, 进行一次替换就可以. 代码 # -*- coding: ...
- IDEA如何打包可运行jar的一个问题
转载:http://bglmmz.iteye.com/blog/2058785 背景: 有时候,我们会用IDEA来开发一些小工具,需要打成可运行的JAR包:或者某些项目不是WEB应用,纯粹是后台应用, ...
- hdu 5284 wyh2000 and a string problem(没有算法,仅仅考思维,字符数组得开20万,不然太小了)
代码: #include<cstdio> #include<cstring> using namespace std; char s[200000]; int main() { ...
- html 后台页面布局
<!DOCTYPE html> <html lang="en"> <head> <title></title> < ...
- MySQL 系列教程(二) 你不知道的数据库操作
本章内容: 查看\创建\使用\删除 数据库 用户管理及授权实战 局域网远程连接法 查看\创建\使用\删除\清空\修改 数据库表(是否可空,默认值,主键,自增,外键) 表内容的增删改查 where条件. ...
- java编程思想读书笔记 第十二章 通过异常处理错误(下)
1.异常的限制 当覆盖方法的时候,仅仅能抛出在基类方法的异常说明里列出的那些异常. 这意味着,当基类使用的代码应用到其派生类对象的时候,一样能够工资,异常也不例外. 以下的样例是在编译时施加在异常上面 ...
- TCP/IP详解 卷一(第十二章 广播和多播)
广播和多播仅应用于UDP. 广播指的是一个主机向网上的所有其他主机发送帧,而 多播仅发送给属于多播组的多个主机. 为了弄清广播和多播,需要了解主机对由信道传送过来帧的过滤过程 1.首先,网卡查看由信道 ...
- Android事件的分发
1 http://blog.csdn.net/guolin_blog/article/details/9097463 2
- WebLogicSSL解决苹果IOS itms下载问题
前提: 安装好openssl工具. 通过windows cmd 命令进入 openssl工作文件夹 如解压文件夹为:E:\ openssl-1.0.2-beta1 则工作文件夹为E:\openssl- ...
- IDEA下配置Spring Boot的热部署
© 版权声明:本文为博主原创文章,转载请注明出处 devtools简介 spring-boot-devtools会监听classpath下的文件变动,并且会立即重启应用(发生在保存时机),因为其采用的 ...