一、列表

1、列表简介:

列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,],{‘name’:’alex’}],列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。

1)下标取值:

li = ['刘松','liusong',123]
l1 = li[0]
print(l1) #单个取值
结果:['刘松'] li = ['刘松','liusong',123]
l1 = li[0:2]
print(l1) #切片取值
结果:['刘松', 'liusong']

2)增:

li = ['alex','wusir','egon','女神','taibai']
li.append('刘松')
print(li) #增加到最后
结果:['alex', 'wusir', 'egon', '女神', 'taibai', '刘松'] li = ['alex','wusir','egon','女神','taibai']
li.insert(4,'刘松')
print(li) #按照索引去增加
结果:['alex', 'wusir', 'egon', '女神', '刘松', 'taibai'] li = ['alex','wusir','egon','女神','taibai']
li.extend('刘松')
print(li) #分成逐个元素依次增加
结果:['alex', 'wusir', 'egon', '女神', 'taibai', '刘', '松']

3)删:

li = ['alex','wusir','egon','女神','taibai']
li.pop()
print(li) #默认删除最后一个,返回值
结果:['alex', 'wusir', 'egon', '女神'] li = ['alex','wusir','egon','女神','taibai']
li.remove('女神')
print(li) #按元素去删除
结果:['alex', 'wusir', 'egon', 'taibai'] li = ['alex','wusir','egon','女神','taibai']
li.clear()
print(li) #清空
结果:[] li = ['alex','wusir','egon','女神','taibai']
del li
print(li) #直接删除列表,会报错。
结果:报错。 li = ['alex','wusir','egon','女神','taibai']
del li[0:2]
print(li) #切片去删除
结果:['egon', '女神', 'taibai']

4)改:

li = ['alex','wusir','egon','女神','taibai']
li[0] ='刘松'
print(li) # 根据下标更改 li = ['alex','wusir','egon','女神','taibai']
li[0:3] = '刘松abcd'
print(li) #切片修改,按照最小元素修改
结果:['刘', '松', 'a', 'b', 'c', 'd', '女神', 'taibai']

5)查:

li = ['alex','wusir','egon','女神','taibai']
for i in li:
print(i) #循环查找
结果:alex
wusir
egon
女神
taibai li = ['alex','wusir','egon','女神','taibai']
name = li[0:4]
print(name) #切片查询
结果:['alex', 'wusir', 'egon', '女神']

6)公共方法:

li = ['alex','wusir','egon','女神','taibai']
l = len(li)
print(l) #查看列表里有多少个元素
结果:5 li = ['alex','wusir','egon','女神','taibai']
num = li.count('女神')
print(num) #查看元素在列表里出现的次数
结果:1 li = ['alex','wusir','egon','女神','taibai']
name = li.index('女神')
print(name) #查找元素在列表里的下标
结果:3 li = [1,5,4,7,6,2,3]
li.sort()
print(li) #正向排序,.sort(reverse=False)
结果:[1, 2, 3, 4, 5, 6, 7] li = [1,5,4,7,6,2,3]
li.reverse()
print(li) #反转排序
结果:[3, 2, 6, 7, 4, 5, 1]

7)嵌套

例:
li = ['taibai','武藤兰','苑昊',['alex','egon',89],23]

8)列表转字符串

s = 'alex'
s1 = 'sb'.join(s)
print(s1) #列表转化成字符串,以''里的元素拼接。
结果:asblsbesbx

二、元祖:

1、元祖简介:

元组被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组。例:(1,2,3)("a","b","c")

1)###儿子不能改,孙子可能可以改###

tu = (1,2,3,'alex',[2,3,4,'taibai'],'egon')
print(tu[3]) #查找元祖下标3的元素
结果:alex print(tu[0:4]) #查找元祖下标0-4的元素
结果:(1, 2, 3, 'alex') for i in tu:
print(i) #循环元祖里的元素,只循环一次。
结果:1
2
3
alex
[2, 3, 4, 'taibai']
egon tu[4][3]=tu[4][3].upper()
print(tu) #把元祖里面的列表一个元素全部大写
结果:(1, 2, 3, 'alex', [2, 3, 4, 'TAIBAI'], 'egon') tu[4].append('sb')
print(tu) #在元祖里面的列表里增加元素
结果:(1, 2, 3, 'alex', [2, 3, 4, 'taibai', 'sb'], 'egon') range() #就是一个元祖
例子:for i in range(3,10):
print(i) #循环打印一次,3-9的数字。
for i in range(10):
print(i) #循环打印一次,0-9的数字。
for i in range(0,10,3):
print(i) #循环打印一次,0-9的数字,步长3,间接输出0-9所有的被3整除的数。
for i in range(10,0,-2):
print(i) #循环打印一次,10-1的数字,反向步长为2。
for i in range(10,-1,-2):
print(i) #循环打印一次,10-0的数字,反向步长为2。

列表(List) 的增删改查及其他方法 和元组(tuple)的查的更多相关文章

  1. 列表(索引切片 增删改查 嵌套) range 元组的初识

    li = ["alex", "WuSir", "ritian", "barry", "wenzhou" ...

  2. Entity Framework增删改之通用精简方法

    用EF用了好长一段时间了,从EF4.0的版本开始接触,感觉这个ORM不能说性能是最好的,但是我个人感觉功能实现以及和mvc的结合还是一个不错的企业级网站的解决方案,在此写个简易的通用扩展方法来方便大家 ...

  3. 总结day04 ---- 列表的切片,增删改查,以及,相关方法, 元祖的使用方法

    内容大纲 1 : 列表的索引 : 列表的切片 2 : 列表的增加内容 >1:append(char)  >2:insert(index,char) >3:extend('可迭代对象' ...

  4. 简单做了一个代办事项列表系统 ,增删改查。 前台页面用 jquery 后台用nodejs ,数据库用的是mongdoDB 。

    引入npm 第三方mongoose包连接mongoDb本地数据库todolist const mongoose = require('mongoose'); mongoose.connect('mon ...

  5. Easyui数据表格-地区列表及工具栏增删改

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  6. 找呀志_使用SQLiteDatabase增删改提供的搜索方法和事务

    知识具体解释:http://blog.csdn.net/zhaoyazhi2129/article/details/9026093 MainActivity.java,User.java,BaseDa ...

  7. Ado.net[登录,增删改查,Get传值,全选,不选,批量删除,批量更新]

    [虽然说,开发的时候,我们可以使用各种框架,ado.net作为底层的东西,作为一个合格的程序员,在出问题的时候我们还是要知道如何调试] 一.增删改查 cmd.ExecuteReader();执行查询, ...

  8. 通过Java代码实现对数据库的数据进行操作:增删改查

    在写代码之前,依然是引用mysql数据库的jar包文件:右键项目-构建路径-设置构建路径-库-添加外部JAR 在数据库中我们已经建立好一个表xs :分别有xuehao  xingming    xue ...

  9. jdbc增删改查进行封装

    jdbc封装 1 dao (代码分层) com.aaa.dao 存放dao相关的类型 例如 StudentDAOImpl 处理 数据库的链接 存取数据 com.aaa.servlet 存放servle ...

随机推荐

  1. mybatis 整合spring之mapperLocations配置的问题

    今天尝试spring整合mybatis时遇到这么一个问题,就是在配置sqlSessionFactory时是否要配置mapperLocations的问题. <bean id="sessi ...

  2. 《程序员修炼之道:从小工到专家》【PDF】下载

    <程序员修炼之道:从小工到专家>[PDF]下载链接: https://u253469.ctfile.com/fs/253469-231196340 内容简介 <程序员修炼之道> ...

  3. adb devices找不到设备解决办法

    问题现象: 解决办法: 1.在设备管理器Android Device中找到设备硬件Id USB\VID对应值: 3.找到.android目录,找到adb_usb.ini文件,如果没有此文件则新建一个, ...

  4. 关于使用Xcode9.0使用[UIImage imageNamed:]返回null的问题

    最近升级Xcode9.0,没少折腾,再加上iOS11出现的问题,又要适配一些奇怪的问题.这都没啥,但是如果Xcode出问题,那问题可真是难找.因为习惯的操作潜意思的告诉自己这样做是不会错的. 在Xco ...

  5. ABP 找不到版本为 (>= 1.0.0-preview1-27891) 的包 Microsoft.AspNetCore.SignalR 错误

    错误描述: 下载ABP模板项目3.4.1的版本(当前最新版本),编译加载nuget包Microsoft.AspNetCore.SignalR时会报如下错误: 严重性     代码         说明 ...

  6. bzoj 4310: 跳蚤

    Description 很久很久以前,森林里住着一群跳蚤.一天,跳蚤国王得到了一个神秘的字符串,它想进行研究. 首先,他会把串分成不超过 k 个子串,然后对于每个子串 S,他会从S的所有子串中选择字典 ...

  7. CentOs7 systemd添加自定义系统服务

    systemd: CentOS 7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分,即:/usr/lib/systemd/syste ...

  8. lambda表达式不使用委托(delegate) 用FUNC

    lLambda不使用delegate关键字,而使用  Lambda运算符 => goes to l    1.Func<int,string> getInput = (int age ...

  9. HTTPS从认识到线上实战全记录

    前言 关于HTTPS,基本上你想知道的都在这里了.本文原标题<HTTPS原理与实践>,下图是本文配套PPT的目录截图: [TOC] 原理篇 认识HTTPS 先说一下,本文可能有些地方由于描 ...

  10. js 停止事件冒泡 阻止浏览器的默认行为(阻止a标签跳转 )

    在前端开发工作中,由于浏览器兼容性等问题,我们会经常用到"停止事件冒泡"和"阻止浏览器默认行为". 1..停止事件冒泡 JavaScript代码 //如果提供了 ...