Python基础(三)

1.list

list是一种可变的有序容器,每个元素都拥有自己的下标.列表使用[]定义.

(1)定义方法

1x = [1,2,3] #第一种,使用[] 2y = x #第二种,赋值 3y = list({1,2,3}) #第三种,使用强制转换函数

(2)下标

下标从0开始,允许负数作为下标,最后一个元素的下标为-1,第一个元素的下标为-n,第i个元素的下标为(i-1)或-(n-i+1).

(3)切片

设x是一个列表,则

x[start:end:step]

为列表的一个切片,start为起始位置,包含,可以省略,end为结束位置,不包含,可以省略,step为步长,可以省略,默认为1.

三者都可以为负数.

在这里插入图片描述

三者都省略时为整个列表,反向遍历时可以省略start与end,步长设为-1:

在这里插入图片描述

(4)反向遍历

反向遍历有三种方法:

A.[::-1]

使用切片,像上面一样,步长设为-1

B.使用内置函数reversed()

reversed()会返回一个迭代器,想要获取里面的内容可以转换为list().

在这里插入图片描述

C.使用列表方法.reverse()

在这里插入图片描述

前两种方法不会改变列表,列表方法reverse()改变了列表.

(5)列表推导式

列表推导式可用于快速生成有规律性的列表,比如生成包含10个2的列表:

[2 for i in range(10)]

有点类似于把for循环的循环体提到前面.

(6)列表的常用函数

A.extend()

在这里插入图片描述

extend()类似于直接使用+,但是+不会改变列表本身,而extend()会改变列表本身.

B.append()

在这里插入图片描述

append()把参数作为一个元素直接追加到列表中.

C.insert()

insert需要两个参数,分别表示插入的下标与插入的值.

在这里插入图片描述

D.pop()

根据下标删除元素.

在这里插入图片描述

E.remove()

根据值删除元素,删除第一个出现的元素,就是说对于重复元素仅删除第一次出现的元素.

在这里插入图片描述

F.len()

列表长度,注意这个不是列表的方法.

在这里插入图片描述

G.sorted()与sort()

这两个都是排序的方法,sorted()不是列表的方法,把列表作为函数的参数传递,sort是列表的方法,会改变列表本身.

在这里插入图片描述

H.enumerate()

逐个显示对应的下标,返回的是一个迭代器.想要显示可以转换为列表.

在这里插入图片描述

I.zip()

列表的并行计算.

在这里插入图片描述

2.元组

元组是不可变的有序容器,用()表示.

(1)定义方法

1x = (1,2,3,4,5) #第一种,使用() 2y = x #第二种,使用赋值 3x = tuple('kkkrrr') #第三种,使用tuple强制转换 4x = 1,2,3,4,5 #第四种,实质上还是第一种,省略了圆括号

(2)特点

用逗号分隔的都是元组,是不可变对象,支持拆包式赋值.

在这里插入图片描述

(3)应用

交换两个变量:

在这里插入图片描述

函数的不定长参数:

1def fun(arg1,*arg2): 2 print(arg1) 3 if arg2 != (): 4 if len(arg2) == 1: 5 print(arg2[0]) 6 else: 7 print(arg2) 8fun(1) 9fun(2,3) 10fun(4,5,6)

在这里插入图片描述

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

Python基础(三) - HelloWorld