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()函数:用于在指定位置 ...
随机推荐
- 硬链接、软链接和inode
一.inode 在Linux中,“一切皆文件”. 唯一标识文件的是inode而非文件名,文件名仅是为了方便人们的记忆和使用,系统或程序通过 inode 寻找正确的文件数据块. 什么是数据块呢?文件储存 ...
- JavaScript JSON.parse()和JSON.stringify()
parse用于从一个字符串中解析出json对象,如 var str = '{"name":"huangxiaojian","age":&qu ...
- [JS学习笔记]浅谈Javascript事件模型
DOM0级事件模型 element.on[type] = function(){} 兼容性:全部支持 lay1 lay2 lay3 e.target:直接触发事件的元素[IE8及以下不支持tage ...
- 解决webpack vue 项目打包生成的文件,资源文件均404问题
最近在使用webpack + vue做个人娱乐项目时,发现npm run build后,css js img静态资源文件均找不到路径,报404错误...网上查找了一堆解决办法,总结如下 一.首先修改c ...
- Excel 读写操作
读 import xlrd from xlrd.book import Book from xlrd.sheet import Sheet from xlrd.sheet import Cell wo ...
- WebSocket 在烧瓶和龙卷风中的应用
a. 安装 pip3 install gevent-websocket 作用: - 处理Http.Websocket协议的请求 -> socket - 封装Http.Websocket相关数据 ...
- JSP的三大指令
三大指令:page指令.include指令和taglib指令. page指令: * import:等同与import语句 <%@ page import="java.util.*& ...
- C++抽象类的实现
1.什么是抽象类? 答:简单的说,抽象类就是至少有一个纯虚函数的类. 2.抽象类的作用? 答:抽象类的主要作用就是为它所组织的继承层次结构提供一个公共的基类,这样它就具有公有行为的特征,其它派生的类可 ...
- make命令和makefile文件
make命令和makefile文件的结合提供了一个在项目管理领域十分强大的工具,它不仅常被用于控制源代码的编译,而且还用于手册页的编写以及将应用程序安装到目标目录. makefile文件由一组依赖关系 ...
- 一分钟理解js闭包
什么是闭包?先看一段代码: ? 1 2 3 4 5 6 7 8 9 10 function a(){ var n = 0; function inc() { n++; cons ...