列表

概念:Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。

列表的使用

names = ['zhangsan','lisi','wangwu','zhaoliu'] //定义一个了列表

print(names) //输出列表的所有内容
print(names[0]) //输出列表的第0个内容
//用索引来访问list中每一个位置的元素,记得索引是从0开始的。

输出结果:

如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素:

names = ['zhangsan','lisi','wangwu','zhaoliu','vector']
print(names[-1])

输出结果:

len()函数可以获得list元素的个数。

names = ['zhangsan','lisi','wangwu','zhaoliu','yangzirui']
print(len(names))

输出结果:

当索引超出了范围时,Python会报一个IndexError错误,所以,要确保索引不要越界,记得最后一个元素的索引还可以是len(classmates) - 1

切片

如果想取出中间一段连续的元素,则用name[1:3]的方式,这个参数是左闭右开的。也就是说从第1位取到第2位。

names = ['zhangsan','lisi','wangwu','zhaoliu']
print(names[1:3])# 切片

输出结果:

跳着切片

names = ['zhangsan','lisi','wangwu','zhaoliu']
print(names[0:-1:2]) # 从第0个到倒数第2个, 每两个元素取一个

输出结果:

倒着切片

names = ['zhangsan','lisi','wangwu','zhaoliu','vector','zhaoliu']
print(names[-3,-1]) # 这也是左闭右开的,表示从倒数第三个切到倒数第二个
# 如果想切到倒数第一个, 就这样写 name[-3:] 这样就表示从倒数第三个切到最后一个了

输出结果:

追加元素

如果想在列表的最后面追加一个元素, 就用函数append('元素')。

names = ['zhangsan','lisi','wangwu','zhaoliu','vector','zhaoliu']
names.append('sunqi')
print(names)

输出结果:

插入元素

插在任意元素的前面, 用函数insert(2,'元素')。

names = ['zhangsan','lisi','wangwu','zhaoliu','vector','zhaoliu']
names.insert(1,'yangsan') # 插在下标为1的元素的前面
print(names)

输出结果:

修改元素

names = ['zhangsan','lisi','wangwu','zhaoliu','vector','zhaoliu']
names[2] = 'shenmegui'
print(names)

输出结果:

删除元素的三种方法

names = ['zhangsan','lisi','wangwu','zhaoliu']
names.remove('shenmegui') # 根据内容删除
del names[2] # 根据下标删除
names.pop(2) # 如果输入下标,则效果=del names[2], 如果不输入下标,则默认删除最后一个元素

根据元素内容找到元素的下标

names = ['zhangsan','lisi','wangwu','zhaoliu','vector','zhaoliu']
print(names.index('zhangsan')) //利用index函数将下标取出来
# 还有一种方式是在循环的时候取出下标
for i in enumerate(names):
print(i) # 这样取的时候就会有下标
# 但是如果我想把下标分离出来, 该怎么处理
for index,i in enumerate(names):
print(index,i) # 这样index里面就装了分离出来的下标

计算某个元素的个数

names = ['zhangsan','lisi','zhangsan','zhaoliu','vector','zhaoliu']
print(names.count('zhangsan'))

输出结果:

清空列表

names = ['zhangsan','lisi','zhangsan','zhaoliu','vector','zhaoliu']
names.clear()

翻转列表

names = ['zhangsan','lisi','zhangsan','zhaoliu','vector','zhaoliu']
names.reverse()
print(names)

输出结果:

排序

规则是按照ASCII码表的顺序排的。

names = ['zhangsan','lisi','zhangsan','zhaoliu','vector','zhaoliu']
names.sort()
print(names)

输出结果:

追加合并

names = ['zhangsan','lisi','zhangsan','zhaoliu','vector','zhaoliu']
names2 = [1,2,3,4]
names.extend(names2)
print(names)

输出结果:

浅拷贝列表

这个第一维时是深拷贝,第二维开始是浅拷贝。

names = ['zhangsan','lisi','wangwu','zhaoliu']
names3 = names.copy() // 第一种方式
p1 = names[:]      // 第二种方式
p2 = list(names)    // 第三种方式

深拷贝  需要引入copy模块

names = ['zhangsan','lisi','zhangsan','zhaoliu','vector','zhaoliu']
import copy
names2 = copy.copy(names)

循环列表

names = ['zhangsan','lisi','zhangsan','zhaoliu','vector','zhaoliu']
for i in names:
print(i)

输出结果:

判断一个元素是否在列表里

names = ['zhangsan','lisi','zhangsan','zhaoliu','vector','zhaoliu']
if 'zhangsan' in names:
print('存在')

输出结果:

元组

元组就是只能查数据的列表。

定义格式:

names = ('zhangsan','lisi')

  它只有两个方法, count 和 index。

Python学习之路2 - 列表和元组的更多相关文章

  1. python学习4—数据结构之列表、元组与字典

    python学习4—数据结构之列表.元组与字典 列表(list)深灰魔法 1. 连续索引 li = [1,1,[1,["asdsa",4]]] li[2][1][1][0] 2. ...

  2. Python学习三---序列、列表、元组

    一.序列 1.1.序列概念 pythn中最基本的数据结构是序列(sequence). 序列中每个元素被分配一个序号-元素索引,第一个索引是0,第二个是1,以此类推.类似JAVA中数组和集合中的下标. ...

  3. python学习笔记之一:列表与元组

    最近在看<python基础教程>(基于python2.x),下面总结一下第二章列表与元组的知识: 在这章中引入了数据结构的概念.数据结构是通过某种方式组织在一起的数据元素的集合.在pyth ...

  4. 【python学习笔记】2.列表和元组

    # 第二章:列表和元组   序列中,每个元素都有个一个序号,序号以0开始,最后一个元素序号为-1,倒数第二个-2 序列类型包括,列表,元组,字符串,unicode字符串,buffer, xrange ...

  5. python学习(二) 列表和元组

    第2章  列表和元组 2.1 序列概论 python有六种内建的序列,本章讨论最常用的两种类型:列表和元组.其他的内建序列有字符串.Unicode字符串.buffer对象和xragne对象. 列表和元 ...

  6. Python学习(四)—— 列表和元组的类中方法

    列表 list:用中括号括起来,用“,”分割每个元素,列表中的元素可以是 数字.字符串.列表.布尔值......所有东西,可以说就是一个“集合” li = [1,3,5,'alex','age',[' ...

  7. python学习之路04——列表和字典

    列表和字典 python中的可变数据类型有:列表和字典 不可变类型:数字,字符串,元组 今天先讲列表和字典 一.列表 1.概念: 变量:使用变量存储数据,但是,变量存储数据每次只能存储一个数据 问题: ...

  8. Python学习笔记 (3) :列表、元组的操作

    列表,即写在方括号之间.用逗号分隔开的数值列表.列表内的项目不必全是相同的类型. >>> a = ['spam', 'eggs', 100, 1234] >>> a ...

  9. python学习小总结(列表、元组、字典、集合、字符串)

    ---恢复内容开始--- 一.列表(list) 1.添加 append():追加,在列表末尾添加元素. 列表名.append(添加的元素) extend():扩展,在列表末尾添加元素. 列表名.ext ...

随机推荐

  1. WSO2 API Manager 替换mysql作为数据库,解决AuthorizationUtils Could not set authorizations for the root问题

    按照wso2官网(https://docs.wso2.com/display/ADMIN44x/Changing+to+MySQL)配置AM的数据库,想从H2换成Mysql5.7,费了将近一天的时间, ...

  2. Vmware文件类型

    ### vmx ###> 虚拟机启动的配置文件+ 包含`.encoding`.`displayName`.`memsize`等基本配置信息,还包括一些链接文件的位置如`nvram`(非易变RAM ...

  3. MySQL---存储过程 及 条件语句、循环语句

    存储过程 存储过程是一个SQL语句集合,当主动去调用存储过程时,其中内部的SQL语句会按照逻辑执行. 1.创建存储过程 -- 创建存储过程 delimiter // create procedure ...

  4. Vue清除所有JS定时器

    Vue清除所有JS定时器 在webpack + vue 的项目中如何在页面跳转的时候清除所有的定时器 JS定时器会有一个返回值(数字),通过这个返回值我们可以找到这个定时器 在vue项目中可以使用路由 ...

  5. CAT 安装运行配置教程

    CAT安装教程 首先安装mysql数据库,具体步骤参阅<mysql免安装教程>--http://www.cnblogs.com/halberts/p/8723938.html 下载CAT代 ...

  6. 基于傅里叶变换的音频重采样算法 (附完整c代码)

    前面有提到音频采样算法: WebRTC 音频采样算法 附完整C++示例代码 简洁明了的插值音频重采样算法例子 (附完整C代码) 近段时间有不少朋友给我写过邮件,说了一些他们使用的情况和问题. 坦白讲, ...

  7. lr中常用函数以str开头函数

    对各函数的定义: strcat( ):添加一个字符串到另一个字符串的末尾.strncat  (拼接指定长度字符串)                                 --粘贴操作    ...

  8. vue cli3超详细创建多页面配置

    1.首先按照vue cli3 给的入门文档下载个vue cli3 如果之前下载了vue cli2的要先卸载之前的 2.检查安装是否成功 3.ok,现在环境搭建好了,新建项目 vue create he ...

  9. [hdu 6184 Counting Stars(三元环计数)

    hdu 6184 Counting Stars(三元环计数) 题意: 给一张n个点m条边的无向图,问有多少个\(A-structure\) 其中\(A-structure\)满足\(V=(A,B,C, ...

  10. FreeRTOS的信号量和互斥量

    1. 理解如下,言简意赅的说,信号量解决同步,互斥量解决竞争. 信号量用于同步,主要任务间和中断间同步:互斥量用于互锁,用于保护同时只能有一个任务访问的资源,为资源上一把锁. 互斥量具有优先级继承,信 ...