Python基础学习三 list-增删改查、切片、循环、排序
一、list 增删改查
1、增加
方式一:
stus = ['xiaohei','xiaobai','xiaohuang','cxdser']
stus.append('test001')#从最后面开始插入
print(stus)
输出:['xiaohei', 'xiaobai', 'xiaohuang', 'cxdser', 'test001']
方式二:
stus = ['xiaohei','xiaobai','xiaohuang','cxdser']
stus.insert(1,'test002') #从指定位置插入,这个1代表下标
print(stus)
输出:['xiaohei', 'test002', 'xiaobai', 'xiaohuang', 'cxdser']
注意:
stus = ['xiaohei','xiaobai','xiaohuang','cxdser']
stus.insert(1000,'test003') #如果你指定的下标不存在,那么就是在末尾添加
print(stus)
输出:['xiaohei', 'xiaobai', 'xiaohuang', 'cxdser', 'test003']
2、修改
stus = ['xiaohei','xiaobai','xiaohuang','cxdser']
stus[2]='louis'
print(stus)
输出:['xiaohei', 'xiaobai', 'louis', 'cxdser']
3、查看
stus = ['xiaohei','xiaobai','xiaohuang','cxdser']
stus[2]='louis'
print(stus)
print(stus[-1]) #负数表示倒数
print(stus.count('louis'))#查看某个元素在这个里面的个数,如果该元素不存在,那么返回0
输出:
['xiaohei', 'xiaobai', 'louis', 'cxdser']
cxdser
1
4、删除
stus = ['test000','test001','test002','test003','test004']
stus.pop(0)#默认删除最后一个元素,如果指定下标,那么删除指定的元素
print(stus)
输出:['test001', 'test002', 'test003', 'test004']
stus.remove('test002')#删除list里面的一个元素
print(stus)
输出:['test001', 'test003', 'test004']
del stus[1]
print(stus)
输出:['test001', 'test004']
stus.clear()#清空整个list
print(stus)
输出:[]
5、排序
reverse()方法
stus = ['test000','test001','test002','test003','test004']
stus.reverse()#反转list
print(stus)
输出:['test004', 'test003', 'test002', 'test001', 'test000']
sort()排序方法
nums = [9,31,345,12,457,2352,12143,2321]
nums.sort()
print(nums)
输出:[9, 12, 31, 345, 457, 2321, 2352, 12143]
nums.sort(reverse=True) #排序,默认排序是升序,如果指定了reverse=True就是按照降序拍
print(nums)
输出:[12143, 2352, 2321, 457, 345, 31, 12, 9]
sorted()方法
a = [5, 7, 6, 3, 4, 1, 2]
b = sorted(a) #即可以保留原列表,又能得到已经排序好的列表
print(a)
print(b)
输出:[5, 7, 6, 3, 4, 1, 2]
[1, 2, 3, 4, 5, 6, 7]
c=sorted('www.cnblogs.com')
print(c)
输出:['.', '.', 'b', 'c', 'c', 'g', 'l', 'm', 'n', 'o', 'o', 's', 'w', 'w', 'w']
二、多维数组
1、二维数组 三维数组
two_list = [123,456,[789,10,11]]
three_list = [ 123, 456, [789,10,11, ['hahaha','1234'] ]]
print(two_list[2][1])
输出:10
a = [1,2,3]
b = [4,5,6]
a.extend(b)#合并两个list
print(a)
print(b)
输出:[1, 2, 3, 4, 5, 6]
[4, 5, 6]
三、list切片、循环
stus = ['test000','test001','test002','test003','test004']
stus1=stus[1:4] # 取下标1至下标4之间值,包括1,不包括4
print(stus1)
输出:['test001', 'test002', 'test003']
stus2=stus[1:-1] # 取下标1至-1的值,不包括-1
print(stus2)
输出:['test001', 'test002', 'test003']
stus3=stus[0:3] # 取下标0至3的值,不包括3
print(stus3)
输出:['test000', 'test001', 'test002']
stus4=stus[:3] # 取下标0至3的值,不包括3,和上面的效果一样,0可以省略不写
print(stus4)
输出:['test000', 'test001', 'test002']
stus5=stus[2:] # 取从第二个下标开始的后面所有元素
print(stus5)
输出:['test002', 'test003', 'test004']
总结:切片是不包含后面那个元素的值的,记住顾头不顾尾;
#切片同样适用于字符串,字符串也有下标
title='今1天234发5苹67果890'
print(title[:6])
输出:今1天234
查询遍历:
list1 = ["这", "是", "一个", "测试?"]
for a in range (len(list1)):
print(a ,list1[a])#注意缩进
list1 = ["测试", "一个", "是", "这"]
for index, item in enumerate(list1):
print(index, item)#注意缩进
输出: 0 测试
1 一个
2 是
3 这
例子:非空即真、非0即真;strip()验证是否为空
for i in range(3):
username = input('username:').strip()
passwd = input('passwd:').strip()
if username and passwd:
if username=='louis' and passwd=='123':
print('%s欢迎登录'%username)
break
else:
print('账号/密码错误!')
else:
print('账号/密码不能为空')
else:
print('错误失败次数太多!')
Python基础学习三 list-增删改查、切片、循环、排序的更多相关文章
- python基础之字典以及增删改查
字典:字典是python中唯一的一个映射类型,主要形式为 dic = {key1:value,key2:value2,....} 字典中key的值是唯一的,主要关系到HASH算法,并且key的值必须是 ...
- python 基础_ 数组的 增删改查3
数组是运用在多个数据存在一个变量中的,而在调用的时候可以调用所需要的数组. 创建数组 a = ['a','b','c','d','f'] #创建一个数组a其中有5个元素分别是abcdf 1.查询.所谓 ...
- python 基础知识 列表的 增删改查 以及迭代取值
""" python 列表 通用方法 元组.数组.字典 取值方法 [] 列表中可以存储不同类型的数据 函数 封装了独立的功能可以直接调用 函数名(参数) 方法 和函数类似 ...
- python基础之实现sql增删改查
# encoding:utf-8 # Author:"richie" # Date:2017/8/2 import re key_l = ['id', 'name', 'age', ...
- ASP.NET从零开始学习EF的增删改查
ASP.NET从零开始学习EF的增删改查 最近辞职了,但是离真正的离职还有一段时间,趁着这段空档期,总想着写些东西,想来想去,也不是很明确到底想写个啥,但是闲着也是够 ...
- MyBatis学习系列二——增删改查
目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 数据库的经典操作:增删改查. 在这一章我们主要说明一下简单的查询和增删改, ...
- http://www.cnblogs.com/nangong/p/db29669e2c6d72fb3d0da947280aa1ce.htm ASP.NET从零开始学习EF的增删改查
http://www.cnblogs.com/nangong/p/db29669e2c6d72fb3d0da947280aa1ce.htmlASP.NET从零开始学习EF的增删改查
- python manage.py shell 的增删改查
python manage.py shell 的增删改查 guoguo-MacBook-Pro:myblog guoguo$ python manage.py shell Python 3.5.1 ( ...
- Python基础学习三
Python基础学习三 1.列表与元组 len()函数:可以获取列表的元素个数. append()函数:用于在列表的最后添加元素. sort()函数:用于排序元素 insert()函数:用于在指定位置 ...
随机推荐
- LeetCode OJ:Recover Binary Search Tree(恢复二叉搜索树)
Two elements of a binary search tree (BST) are swapped by mistake. Recover the tree without changing ...
- Python基础学习(第7天)
第6课 1.循环对象:包括一个next方法,这个方法的目的是进行到下一个结果,结束后抛出StopInteration异常: 当循环结构如for循环调用一个循环对象时,每次循环的时候都会调用next方法 ...
- PHP内核研究
深入理解PHP内核:Think In PHP Internals(TIPI)是一个开源项目 ,分享PHP内部实现的细节,如内核,扩展等.官网见:http://www.php-internals.com ...
- css3单冒号和双冒号的区别
css3中对于伪元素的使用,在项目开发中使用得当将会对代码的可读性又很大的提升.但是对于伪类大家或许都知道是一些选择器的使用,这里总结了关于伪元素中单冒号和双冒号的区别: 再官方定义中规定单冒号都为伪 ...
- 【解题报告】[动态规划]RQNOJ PID2 / 开心的金明
原题地址:http://www.rqnoj.cn/problem/2 解题思路:背包问题. 状态转移方程:DP[i][j]=max(DP[i-v[j]][j-1]+p[j]*v[j],DP[i][j- ...
- spring源码学习之:项目公共配置项解决方案
一:项目中有一些key,value的简单配置 org.apache.commons.configuration.DatabaseConfiguration可以轻松解决 二:配置项目的xml中bean ...
- js客户端UI框架
Best jQuery UI http://b-jui.com/ jQuery EasyUI http://www.jeasyui.com/ bootstrap学习网: http://www.runo ...
- 数据库中通过group by找出表中的重复数据
有时候在做数据割接时会碰到数据插入失败的情况,大部分都是导出的数据中存在重复导致的.我们可以通过查询语句带分组条件来确认是否有重复数据.例如我现在有表 t_wlf_info,其中有个 username ...
- ubuntu下网卡eth1如何修改为eth0
正常来说,Linux在识别网卡时第一张会是eth0,第二张才是eth1.有时候我们使用虚拟机克隆技术后网卡的信息就会改变,新克隆出来的虚拟主机网卡名字可能变为eth1.无论我们怎么修改都无法改变,这就 ...
- linux 系统创建软连接
ln -s /data/var/ /usr/local/smokeping/var 需求:/var/本身在/usr/local/smokeping/var下,想要把/usr/local/smokepi ...