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()函数:用于在指定位置 ...
随机推荐
- git修改远端服务器地址
方法有三种: 1.修改命令 git remote set-url origin [url] 2.先删后加 git remote rm origingit remote add origin [url] ...
- *android判断手机号的运营商
TextView tv=(TextView)findViewById(R.id.tv); TelephonyManager telManager = (TelephonyManager) getSys ...
- 守护进程vs 守护线程
# #守护进程 from multiprocessing import Process import os,time,random def task(): print('%s is running' ...
- Android预安装可卸载程序
/***************************************************************************** * Android预安装可卸载程序 * 说 ...
- Java进阶知识点4:不可变对象与并发 - 从String说起
一.String的不可变特性 熟悉Java的朋友都知道,Java中的String有一个很特别的特性,就是你会发现无论你调用String的什么方法,均无法修改this对象的状态.当确实需要修改Strin ...
- 剑指Offer面试题:8.二进制中1的个数
一 题目:二进制中1的个数 题目:请实现一个整数,输出该数二进制表示中1的个数.例如把9表示成二进制是1001,有2位是1.因此如果输入9,该函数输出2. 二 可能引起死循环的解法 // 计算整数的二 ...
- 记一次愚蠢的gradle操作
今晚把工作移植到mac平台,在用gradle命令 exec ./gradlew --parallel --info assembleDebug 打包apk时卡住,gradle一直处于下载状态,过了几分 ...
- 谨慎安装Python3.7.0,SSL低版本导致Pip无法使用
最新新配置了一台服务器.安装 的时候直接使用了最新的Python 3.7最新版本. 安装成功,编译成功.但是用pip 安装包的时候提示:pip is configured with locations ...
- CoreDNS kubernetes 安装使用
kubernetes 以前是skydns 后面变为 dnsmasq,coredns 也是一个不错的工具 1. 准备环境 安装 kubernetes 配置 kubelet 的cluster-dns 2 ...
- 如何调试Excel VBA代码
Excel VBA出错时给出的错误信息极少,需要充分利用各种工具来进行调试. 1.编译错误 常见的编译错误有: 错误的源代码格式,比如if后面缺少then:在编辑器中该行会变成红色. 错误的语法结构, ...