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()函数:用于在指定位置 ...
随机推荐
- UI- 基础控件零散知识点回归
1.frame\center\bounds 1> frame:能修改位置和尺寸 2> center:能修改位置 3> bounds:能修改尺寸(x\y一般都是0) 2.在.m中声明的 ...
- 原创:项目管理的理论与实践 讲座的PPT
业余时间做的两个PPT,曾经给公司同事讲过,PPT内容毕竟还是不够全面,如果有不清楚的地方,欢迎提问 项目管理的理论与实践 虚拟案例-超市管理系统
- Tomcat应用服务器被黑客 肉鸡攻击 记录
线上一台应用服务器报警,负载过高,这个就诡异了,因为只是一个普通的服务器,应用使用人员不到10个人,咋会负载高,肯定有问题哪,登陆上去查看, top查看哪个占据的cpu资源比较多 [root@aew0 ...
- android事件传递机制以及onInterceptTouchEvent()和onTouchEvent()总结
老实说,这两个小东东实在是太麻烦了,很不好懂,我自己那api文档都头晕,在网上找到很多资料,才知道是怎么回事,这里总结一下,记住这个原则就会很清楚了: 1.onInterceptTouchEvent( ...
- BZOJ - 1941 Hide and Seek (kd树)
题目链接 kd树模板题,求二维空间上的最远点/最近点. 对所有点建立kd树,分别查询每个点即可.单次查询期望时间复杂度$O(logn)$ #include<bits/stdc++.h> u ...
- MySql必知必会实战练习(四)主键、外键、sql约束、联结表
本博将对主键.外键.MySql数据库约束和联结表的相关特性进行总结和实战 1. 主键 表中的每一行都应该具有可以唯一标识自己的一列(或一组列),而这个承担标识作用的列称为主键 如果没有主键,数据的管理 ...
- js实现弹出窗口+遮罩层+tab切换
[功能1]点击约谈按钮,弹出对话框和遮罩层(自己的叫法 专业叫法没有查) [部分重点代码] [下面的方法] (1)获取系统时间如何实现(2)点击如何实现弹出窗口和遮罩层 $(".date_n ...
- 51nod 1085 背包问题
在N件物品取出若干件放在容量为W的背包里,每件物品的体积为W1,W2……Wn(Wi为整数),与之相对应的价值为P1,P2……Pn(Pi为整数).求背包能够容纳的最大价值. 收起 输入 第1行,2个 ...
- iOS设置translucent 引发的坐标问题
iOS NavigationBar + 导航栏 tablevie时候的布局情况,之前迷惑了我很久,怎么也没法理解透明度会影响布局. 接下来看一下以下三种情况的运行结果 1.全部系统默认情况下利用m ...
- 常用的文件数据类型mime
有时在编程中会用到文件的类型,比如http的请求或相应header头信息,文件上传时自定义头信息等. ai application/postscript aif audio/x-aiff aifc a ...