python学习笔记(二)列表操作
列表及列表操作:
列表是最常用的数据类型之一,列表也叫数组,列表定义,使用[]即可;列表里面可以再套列表,一个里面套一个列表,叫二维数组;一个里面套一个列表,里面的列表再套一个列表,这个叫三位数组,套几层就是几维,定义格式如下:
list1 = [1,2,3,4]#一个普通的数组
list2 = ['marry','lily',[50,'money']]#二维数组
list3 = ['name','sex',['lily',124,['aaaa','bbb']]]#三维数组
all_nums=[123,456,[789,10,11]]
three=[123,456,[789,10,11,['hahah','']]]
print(all_nums[2][1]) #
print(three[2][-1][0]) #hahah
通过下列访问中的元素,下标从0开始计数,也就是说,比如一个列表,有5个元素,那么它第一个元素下标就是0,第二个就是1,以此类推,字符串也有下标,和列表一样,对列表的操作,分以下几种增,删,改,查
下标,角标,索引:
stus=['xiaohei','xiaobai','xiaohuang','xiaolan']
print(stus[1]) #'xiaobai'
print(stus[-1]) #'xiaolan' 最后一个元素下标可以写-1
print(stus[-2]) #'xiaohuang'
增加:
msg='你好'
name=['andashu','cc','niuniu']
name.append(msg)#在list末尾增加一个元素
name.insert(1,msg)#从指定位置插入,这个1代表下标
name.insert(10,msg)#如果指定下标不存在,那么就是在末尾添加
name.insert(-1,msg)#-1可以写,但是结果添加出来不对,所以一般不写
print(name)
修改:
msg='你好'
name=['andashu','cc','niuniu']
name[1]='baby'#修改指定位置的值,直接取下标进行修改即可
查询:
msg='你好'
name=['andashu','cc','niuniu']
print(name[0])#获取第一个元素
print(name[-1])#-1代表最后一个元素
stus=['xiaohei','xiaobai','xiaohuang','xiaolan']
print(stus.count('xiaohei'))#查看在list中某个元素的个数
print(stus.count('hahaha'))#查看在list中某个元素的个数,如果该元素不存在,那么返回0
print(stus.index('xiaobai'))#找到这个元素的下标,如果多个,返回第一个
print(stus.index('hahaha'))#找到这个元素的下标;如果多个,返回第一个;如果找一个不存在的元素,会报错
删除:
msg='你好'
name=['andashu','cc','niuniu']
name.remove('cc')#删除指定的值
name.pop()#默认删除最后一个元素,如果指定下标,那么删除指定的元素
name.pop(2)
name.pop(100)#如果删除不存在的元素,那么报错
del name[0]#删除指定位置的值
name.clear()#清空列表
列表操作,一些内置的方法:
a=[,,,]
b=[,,,]
a.extend(b)#合并a,b两个列表
print(a)#[,,,,,,,]
print(b)#[,,,]只是把b列表里的内容合并到a中,b列表并不受影响 stus = ['xiaohei','xiaobai','xiaohuang','cxdser','xiaohei']
stus.reverse()#反转list
print(stus)#['xiaohei', 'cxdser', 'xiaohuang', 'xiaobai', 'xiaohei'] nums = [,,,,,,,]
nums.sort()
print(nums)#[, , , , , , , ]
nums.sort(reverse=True)
print(nums)#[, , , , , , , ]
#sort()排序,默认排序是升序,如果指定了reverse=True就是按照降序排
list循环:
如果直接for循环一个list的时候,那么每次循环的值都是这个list里面的元素
names=['haha','hehe','heihei']
for name in names:
print(name) # haha hehe heihei index=0
for i in range(3):
print(names[index])
index+=1 # haha hehe heihe
切片:
切片也就是另一种方式获取列表的值,它可以获取多个元素,可以理解为,从第几个元素开始,到第几个元素结束,获取他们之间的值,格式是name:[1:10],比如说要获取name的第一个元素到第五个元素,就可以用name[0:6],切片是不包含后面那个元素的值,记住顾头不顾尾;前面的下标如果是0的话,可以省略不写,这样写,name[:6],切片后面还有可以写一个参数,叫做步长,也就是隔多少个元素,取一次,默认可以不写,也就是隔一个取一次,切片操作也可以对字符串使用,和列表的用法一样,实例如下:
nums=[1,2,3,4,5,6,2,3,4,6,4,3,2,1,2,3,4]
print(nums[3:6])#[4,5,6]
print(nums[:6])#[1,2,3,4,5,6] 如果切片的前面一个值不写的话,从头开始数
print(nums[3:])#[4,5,6,2,3,4,6,4,3,2,1,2,3,4] 如果切片的后面一个值不写的话,取到末尾
print(nums[:])#如果切片的两个值都不写的话,从头取到尾
print(nums[::2])#步长为2,这个代表取所有的元素,然后每隔2个元素取一个
print(nums[::-1])#步长是正数的话从左往右取,步长是负数的话从右往左取,相当于倒序排列
print(nums[-1:-9:-1])
print(nums[16:8:-1])
#切片同样适用于字符串,字符串也有下标
title='今天发 苹果' #空格也算一个字符串
print(title[0]) #今
print(title[:4])#今天发
for t in title:
print(t)#今天发 苹果
for i,t in enumerate(title):#enumerate可以同时循环索引下标和值
print('%s:%s'%(i,t)) #0:今 1:天 2:发 3: 4:苹 5:果
18 #列表也适用enumerate:
names=['haha','hehe','heihei']
for index,name in enumerate(names):
print('%s:%s'%(index,name))
小练习:
注册:输入用户名,判断账号是否存在,若存在给出提示;若不存在,提示注册成功;

python学习笔记(二)列表操作的更多相关文章
- python学习笔记(二)、字符串操作
该一系列python学习笔记都是根据<Python基础教程(第3版)>内容所记录整理的 1.字符串基本操作 所有标准序列操作(索引.切片.乘法.成员资格检查.长度.最小值和最大值)都适用于 ...
- python学习笔记整理——列表
Python 文档学习笔记 数据结构--列表 列表的方法 添加 list.append(x) 添加元素 添加一个元素到列表的末尾:相当于a[len(a):] = [x] list.extend(L) ...
- python学习笔记(二)---for循环与操作列表
内容概要 for循环 range(start,end,step)函数 生成随机数列表 list()函数 将range()的结果整合到某个列表 列表的操作 切片(start: end :step) 元组 ...
- python学习笔记二--列表的使用
一.基本列表操作 1. 合并‘+’:左右两边必须均为列表 可以用str(),%,list()做类型的转换后再做合并 2. 重复‘*’: 3. 迭代和解析: x作为for循环里步进变量,由于列表是序列, ...
- python 学习笔记二_列表
python不需要声明类型信息,因为Python的变量标识符没有类型. 在Python中创建一个列表时,解释器会在内存中创建一个类似数组的数据结构类存储数据,数据项自下而上堆放(形成一个堆栈).索引从 ...
- Python 学习笔记二
笔记二 :print 以及基本文件操作 笔记一已取消置顶链接地址 http://www.cnblogs.com/dzzy/p/5140899.html 暑假只是快速过了一遍python ,现在起开始仔 ...
- python学习笔记(二):python数据类型
上一篇博客写了python的入门和简单流程控制,这次写python的数据类型和各种数据类型的内置方法.一.数据类型是什么鬼?计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各 ...
- python学习笔记(三)-列表&字典
列表: 一.列表操作"""Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素.比如,列出班里所有同学的名字,就可以用一 ...
- Python学习笔记(1)-列表
列表是什么? 列表由一系列按特定顺序排列的元素组成.列表看起来像这样:[1,2,3,4,1].在列表中,可以由零个或多个元素组成,元素之间用逗号分开,具有相同值元素允许出现多次 使用[ ]或list( ...
- (10.1)Python学习笔记二
1.在项目工程中要模块化测试一个开发的功能,在测试通过后交付给项目组其他人员继续开发.要保证代码开发的性能和效率以及可扩展性. 2.项目工程中的文件夹分类要功能模块明确清晰,在python中引入某一个 ...
随机推荐
- 【黑科技】花几分钟和孩子动手DIY,即可用手机完成全息影像!
http://baobao.sohu.com/20160902/n467277059.shtml [黑科技]花几分钟和孩子动手DIY,即可用手机完成全息影像! 杭州亲子圈2016-09-02 07:2 ...
- rpm --qf 命令
1. 环境准备: sudo apt-get install rpm (Ubuntu系统) wget ftp://rpmfind.net/linux/fedora-secondary/developme ...
- Sabotage 【UVA - 10480】【最大流割边】
题目链接 很容易会想到是最大流建边,但是同样的这里有坑点,就是有的人去输出边的时候,去把残余网络的流为0的边给输出了,其实不然,我们应当输出的是那些最后跑到深度为0的不能再走下去的点,只要把他们割了, ...
- Go-内存To Be
做一个快乐的互联网搬运工- 逃逸分析 逃逸分析的概念 在编译程序优化理论中,逃逸分析是一种确定指针动态范围的方法——分析在程序的哪些地方可以访问到指针. 它涉及到指针分析和形状分析. 当一个变量(或对 ...
- Win10.资料
1.Win10版本consumer editions和business editions有什么区别?(http://www.winwin7.com/JC/10722.html) 2.密钥 win10 ...
- 转 python 字符串前加r
在打开文件的时候open(r'c:\....') 加r和不加''r是有区别的 'r'是防止字符转义的 如果路径中出现'\t'的话 不加r的话\t就会被转义 而加了'r'之后'\t'就能保留原有的样子 ...
- spring security简单教程以及实现完全前后端分离
spring security是spring家族的一个安全框架,入门简单.对比shiro,它自带登录页面,自动完成登录操作.权限过滤时支持http方法过滤. 在新手入门使用时,只需要简单的配置,即可实 ...
- Python入门习题1.温度转换
这一节的课堂例题为: 例1.编写一个Python程序,完成摄氏度到华氏度,华氏度到摄氏度的温度转换. 解: (1)分析问题:利用程序实现温度转换,由用户输入温度值,程序给出输出结果. (2)划分边界: ...
- Java arraylist重复使用问题
arraylist同一个实例重复使用时,需要使用clear()及时清空,否则会在上次的结果后面添加项. List<Double> weightsList = new ArrayList&l ...
- php开启xdebug扩展及xdebug通信原理
xdebug调试原理 IDE(如PHPStorm)已经集成了一个遵循BGDP的XDebug插件,当开启它的时候, 会在本地开一个XDebug调试服务,监听在调试器中所设置的端口上,默认是9000,这个 ...