列表(list)

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可,一个列表中的数据类型可以各不相同,可以同时分别为整数、实数、字符串等基本类型,甚至是列表、元组、字典、集合以及其他自定义类型的对象

1.创建列表

# 创建一个空列表
list1 = list()
# 创建列表中包含各种数据类型列表
list2 = [{"fruit": "水果"}, ("apple", "苹果"), "orange", "橘子", 3.141592654, True, 1]
# 使用list()函数将元组、range对象、字符串或其他类型的可迭代对象类型的数据转换为列表
list3 = list(range(10))
list4 = list((1, 2, 3, 4))
list5 = list("banana")
print(list1)
print(list2)
print(list3)
print(list4)

2.列表读取

通过下标索引来读取列表中的元素,下标索引从0开始

# 读取第一个元素
data1 = list2[0]
print(data1)
# 索引不存在,会抛出越界异常
data2 = list2[8]
print(data2)

使用for语句遍历读取

for i in list2:
print(i)

3.列表修改

通过索引针对性修改

print(list2)
# 通过索引指定修改某项元素
list2[0] = "pear"
print(list2)

通过append()方法增加元素

print(list2)
# 通过append()方法在列表末尾添加列表元素,append()可传入任意数据类型
list2.append(True)
list2.append({"pear": "梨"})
print(list2)

通过extend()方法一次性在列表末尾添加一组列表元素,extend()方法只接受一个可迭代的对象作为参数,否则抛出异常'XXXXX' object is not iterable

# 传入str类型
print(list2)
list2.extend("ab")
print(list2)

print(list2)
# 传入range对象
list2.extend(range(0, 8, 2))
print(list2)

print(list2)
# 传入列表(list)
list2.extend(["what", "why", "when", "how"])
print(list2)

print(list2)
# 传入元组(tuple)
list2.extend(("fish", "rood"))
print(list2)

print(list2)
# 传入字典(dict)
list2.extend({"1": 1, "2": 2})
print(list2)

# 传入不可迭代对象的参数
list2.extend(3.415)
print(list2)

通过insert()方法将指定元素插入列表指定的位置中

print(list2)
# 将元素3插入到第一个位置
list2.insert(0,3)
print(list2)

4.删除列表

使用pop()方法移除列表中的元素,若不传入参数,则默认移除末尾的元素,并返回所移除的值

print(list2)
# 使用pop()方法移除列表中的元素,若不传入参数,则默认移除末尾的元素,并返回所移除的值
data1 = list2.pop(1)
data2 = list2.pop()
print(data1)
print(data2)
print(list2)

remove()方法指定移除已知元素,若列表中存在多个与传入的参数值匹配,则移除首个匹配元素,无返回值
print(list2)
# remove()方法指定移除已知元素,若列表中存在多个与传入的参数值匹配,则移除首个匹配元素,无返回值
list2.remove('orange')
list2.remove(1)
print(list2)

使用clear()方法清空列表,无返回值
print(list2)
# 使用clear()方法清空列表,无返回值
list2.clear()
print(list2)

5.列表切片

切片适用于列表、元组、字符串、range对象等类型,可以使用切片来截取列表中的任何部分,得到一个新列表,也可以通过切片来修改和删除列表中部分元素,甚至可以通过切片操作为列表对象增加元素

格式:[start:end:step]

start: 切片开始位置,默认为0

end: 切片结束位置(不包含结束位置),默认为列表长度

step: 切片的步长,默认为1,当步长省略时可以顺便省略最后一个冒号

正向切片

# 截取整个list
slice1 = list2[:]
# 截取偶数位置的所有元素
slice2 = list2[::2]
# 截取下标在[2,4)间的所有元素
slice3 = list2[2:4]
# 截取奇数位置的所有元素
slice4 = list2[1::2]
print(slice1)
print(slice2)
print(slice3)
print(slice4)

# 当切片时越界并不会报错,直接访问则会抛出越界异常
slice1 = list2[20:]
print(slice1)
slice2 = list2[20]
print(slice2)

逆向切片


print(slice1)
# 逆序列表
slice1 = list2[::-1]
print(slice1)

print(list2)
# 截取倒数第五位之后的所有元素
slice1 = list2[-4:-1]
print(slice1)

遍历切片

slice1 = list2[:-1]
for i in slice1:
print(i)

6.list中其他常用方法
list 中的copy()方法复制列表,等价于切片中[:]
copy_ = list2.copy()
slice_ = list2[:]
print(copy_)
print(slice_)

list 中的count()方法用来统计元素出现的次数

count_ = list2.count(1)
print(count_)

统计字符出现的个数或列表内出现的元素次数等也可以用 Counter方法, Counter 是一个 dict 的子类,用于计数可哈希对象

from collections import Counter
counter_ = Counter(list3)
print(counter_) # 传入含有不可哈希对象列表
count_ = Counter(list2)
print(count_)

list 中的index()方法用来查找某个元素所在的索引位置,当列表中有多个相同的元素时,默认返回第一个匹配的元素索引位置,若找不到则抛出异常

格式:[obj, start, end]

obj :需要查找的对象

start: 起始查找位置,不填写时默认为0

end: 结束查找位置,不包含end,不填写时默认为列表长度

print(list2)
# 查找列表中元素为1的索引位置
index_ = list2.index(1)
print(index_)
# 在索引在区间[3,5)中查找元素为1的索引位置
be_ = list2.index(1, 3, 5)
print(be_)

reverse()翻转列表,类似切片中的[::-1]

list2.reverse()
print(list2)



python 之列表(list)处理的更多相关文章

  1. Python list列表的排序

    当我们从数据库中获取一写数据后,一般对于列表的排序是经常会遇到的问题,今天总结一下python对于列表list排序的常用方法: 第一种:内建函数sort() 这个应该是我们使用最多的也是最简单的排序函 ...

  2. python中列表和元组以及字符串的操作

    python中列表是非常好用的.不过有一些使用小细节还需要注意一下. tag[32:-4] 从index为32到tag的倒数第4个字符. 如果索引为32的值在倒数第4个字符的右边,那么将输出为空.只要 ...

  3. python基础——列表生成式

    python基础——列表生成式 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 举个例子,要生成list [1, 2, 3, 4 ...

  4. Python的列表排序

    Python的列表排序 本文为转载,源地址为:http://blog.csdn.net/horin153/article/details/7076321 在 Python 中, 当需要对一个 list ...

  5. python中列表 元组 字典 集合的区别

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...

  6. python对列表的联想

    python的列表与字典,已经接触无数次了.但是很多用法都记不住,个人觉得归根原因都是只是学了知识点而少用,也少思考.在此试图用宫殿记忆法对它们的用法做个简单的梳理. 首先,说说列表的删除,删除有三种 ...

  7. Python统计列表中的重复项出现的次数的方法

    本文实例展示了Python统计列表中的重复项出现的次数的方法,是一个很实用的功能,适合Python初学者学习借鉴.具体方法如下:对一个列表,比如[1,2,2,2,2,3,3,3,4,4,4,4],现在 ...

  8. python之列表(list)的使用方法介绍

    python之列表(list)介绍 在python的使用过程中,我们经常会用到列表,然而经常会遇到疑惑,下面我将详细介绍下列表使用方法. 一.列表 列表经常用到的功能使增.删.改和查功能. 1. 增 ...

  9. Python的列表

    1. Python的列表简介 1. 1 列表的定义 列表是Python中最基本的数据结构,列表是最常用的Python数据类型,列表的数据项不需要具有相同的类型.列表中的每个元素都分配一个数字 ,即它的 ...

  10. python基础——列表推导式

    python基础--列表推导式 1 列表推导式定义 列表推导式能非常简洁的构造一个新列表:只用一条简洁的表达式即可对得到的元素进行转换变形 2 列表推导式语法 基本格式如下: [expr for va ...

随机推荐

  1. 无需Steam的Proton,在你的Linux运行任意Windows游戏!

    链接: https://pan.baidu.com/s/1QeJxj9_2aZPk2_uZMzpn9A 提取码: v6t6 包含的版本 Proton4.11  Proton4.2  Proton5.0 ...

  2. SecureCRT登录centos日常操作

    ssh登录客户端很多,个人还是习惯使用SecureCRT,非常快捷.简单.针对日常小伙伴经常咨询的常用操作简单记录如下: 建立ssh2连接,比较简单,填写服务器ip及对应的登录用户即可. 登录界面中文 ...

  3. P3008 [USACO11JAN]Roads and Planes G (最短路+拓扑排序)

    该最短路可不同于平时简单的最短路模板. 这道题一看就知道用SPFA,但是众所周知,USACO要卡spfa,所以要用更快的算法. 单向边不构成环,双向边都是非负的,所以可以将图分成若干个连通块(内部只有 ...

  4. python实现给定K个字符数组,从这k个字符数组中任意取一个字符串,按顺序拼接,列出所有可能的字符串组合结果!

    题目描述:给定K个字符数组,从这k个字符数组中任意取一个字符串,按顺序拼接,列出所有可能的字符串组合结果! 样例: input:[["a","b"," ...

  5. Period of an Infinite Binary Expansion 题解

    Solution 简单写一下思考过程,比较水的数论题 第一个答案几乎已经是可以背下来的,在此不再赘述 考虑我们已经知道了\((p,q)\),其中\((p \perp q) \wedge (q \per ...

  6. 图解不同版本的HTTP协议

    前言 大家好,我是蜗牛,今天我们聊聊HTTP协议,通过这篇文章我们能了解到不同版本HTTP优缺点.他们之间的性能差异以及现在主流的HTTP协议用的那个版本 HTTP/1.1 时代 HTTP/1.1 对 ...

  7. 20220728 - DP训练 #1

    20220728 - DP训练 #1 时间记录 \(8:00-9:00\) T1 尝试做 \(T1\),可惜并未做出,没有想到是资源分配 设置三维状态,初值一直不知道怎么设置 并且对于距离有一部分不会 ...

  8. springboot+mybatis+shiro项目中使用shiro实现登录用户的权限验证。权限表、角色表、用户表。从不同的表中收集用户的权限、

    要实现的目的:根据登录用户.查询出当前用户具有的所有权限.然后登录系统后.根据查询到的权限信息进行不同的操作. 以下的代码是在搭好的框架之下进行的编码. 文章目录 核心实现部分. 第一种是将用户表和角 ...

  9. 二进制安装Dokcer

    写在前边 考虑到很多生产环境是内网,不允许外网访问的.恰好我司正是这种场景,写一篇二进制方式安装Docker的教程,用来帮助实施同事解决容器部署的第一个难关. 本文将以二进制安装方式,在CentOS7 ...

  10. 3.pygame快速入门-游戏循环及动画实现

    游戏循环的开始,意味着游戏的正式开始,游戏循环的作用如下 1.保证游戏不会直接退出 2.变化图像的位置--动画效果 3.检测用户交互--按键.鼠标等     游戏时钟 pyagame提供了一个pyga ...