Python从入门到实战系列——目录

列表定义

  • list:列表(list)是Python内置的一种数据类型,list是一种有序的集合,索引从0开始,可以进行截取、组合等;
    //创建列表
list1 = [1,2,3,4,5]
list2 = ["Java","C++","Python","Kotlin"]
print(list1[0]) # 结果:1
print(list1[2]) # 结果:Python

获取列表中的数据

  • 读取列表中某一个数据:list[索引]
    list = ["Java","C++","Python","Kotlin"]
print(list[0]) # 结果:Java
print(list[2]) # 结果:Python
  • 倒叙读取列表中某一个数据:list[-索引]
    list = ["Java","C++","Python","Kotlin"]
print(list[-2]) # 结果:Python
  • 截取列表中的某一部分数据:list[索引:索引]
    list = ["Java","C++","Python","Kotlin"]
print(list[0:3]) # 结果:["Java","C++","Python"]
  • 截取列表中的某一项开始之后的所有数据:list[索引:]
    list = ["Java","C++","Python","Kotlin"]
print(list[1:]) # 结果:["C++","Python","Kotlin"]

修改列表中的数据

  • 更新列表数据,使用 list[索引]=数值 更新
  • 添加列表项,使用 append()方法
    list  = ["Java","C++","Python","Kotlin"]
# 修改 C++ 为 C
list[1] = "C"
print(list) # 结果:["Java","C","Python","Kotlin"]
# 在上面输出的list的基础上追加一个 PHP
list.append("PHP")
print(list) # 结果:["Java","C","Python","Kotlin","PHP"]

删除列表元素

  • del语句:删除列表的元素
    list = ["Java","C++","Python","Kotlin","PHP"]
del list[4]
print(list) # 结果:["Java","C++","Python","Kotlin"]
  • remove(obj):移除列表中某个值的第一个匹配项
    list = ["Java","C++","Python","Kotlin","C++"]
list.remove("C++")
print(list) # 结果:["Java","Python","Kotlin","C++"]

列表操作符

  • +号:用于组合列表
  • *号:用于重复列表;
  • len(列表) :获取列表的长度
  • in:判断元素是否在列表中
    list1 = ["Java","C++","Python"]
list2 = ["Kotlin","PHP"]
list = list1 + list2
print(list) # 结果: ["Java","C++","Python","Kotlin","PHP"]
print(list1*2) # 结果:["Java","C++","Python","Java","C++","Python"]
print(len(list)) # 结果:5
print("Java" in list) # 结果: True

嵌套列表

  • 嵌套列表即在列表里创建其它列表:list[list1,list2]
    list1 = [1,2,3,1]
list2 = ["Java","C++","Python"]
list = [list1,list2]
print(list) # 结果:[[1,2,3,1],["Java","C++","Python"]]

列表函数&方法

  • 函数
    len(list)   返回列表元素个数
max(list) 返回列表元素最大值
min(list) 返回列表元素最小值
list(seq) 将元组转换为列表
  • 方法
    list.append(obj)    在列表末尾添加新的对象
list.count(obj) 统计某个元素在列表中出现的次数
list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.index(obj) 从列表中找出某个值第一个匹配项的索引位置
list.insert(index, obj) 将对象插入列表
list.pop(obj=list[-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj) 移除列表中某个值的第一个匹配项
list.reverse() 反向列表中元素
list.sort([func]) 对原列表进行排序
list.clear() 清空列表
list.copy() 复制列表

5-Python3从入门到实战—基础之数据类型(列表-List)的更多相关文章

  1. 3-Python3从入门到实战—基础之数据类型(数字-Number)

    Python从入门到实战系列--目录 Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Sets(集合) Dictionar ...

  2. 8-Python3从入门到实战—基础之数据类型(集合-Sets)

    Python从入门到实战系列--目录 集合的定义 集合(set)和字典类似,也是一组key的集合,但不存储value:由于key不能重复,所以,在set中,没有重复的key. 创建一个set,需要提供 ...

  3. 7-Python3从入门到实战—基础之数据类型(字典-Dictionary)

    Python从入门到实战系列--目录 字典的定义 字典是另一种可变容器模型,且可存储任意类型对象:使用键-值(key-value)存储,具有极快的查找速度: 字典的每个键值(key=>value ...

  4. 6-Python3从入门到实战—基础之数据类型(元组-Tuple)

    Python从入门到实战系列--目录 元组的定义 定义元组只需要在括号中添加元素,并使用逗号隔开即可 tup = ('Python','Java','C++','Kotlin') 元组与列表的区别 P ...

  5. 4-Python3从入门到实战—基础之数据类型(字符串-String)

    Python从入门到实战系列--目录 字符串表示 在 Python 3版本中,字符串是以 Unicode 编码的:Python 中使用 ' '或者" "表示字符串 msg = 'H ...

  6. 11-Python3从入门到实战—基础之生成器和迭代器

    Python从入门到实战系列--目录 切片 Python提供切片(Slice)操作符用来获取列表.元组等数据中的部分元素:如,读取列表 list[m:n]:表示获取m-n区间的元素 list[m:n: ...

  7. 10-Python3从入门到实战—基础之函数

    Python从入门到实战系列--目录 函数的定义 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数的语法 def 函数名(参数列表): 函数体 函数代码块以 def 关键词开头 ...

  8. 9-Python3从入门到实战—基础之条件控制语句

    Python从入门到实战系列--目录 条件判断 if 条件判断 if 语句语法 if <条件判断1>: <执行1> elif <条件判断2>: <执行2> ...

  9. 2-Python3从入门到实战—基础之运算符

    Python从入门到实战系列--目录 Python语言支持以下类型的运算符: 算术运算符 比较(关系)运算符 赋值运算符 逻辑运算符 位运算符 成员运算符 身份运算符 运算符优先级 算术运算符 Pyt ...

随机推荐

  1. selenium 初探

    # -*- coding:utf-8 -*- from selenium import webdriver driver = webdriver.Firefox() # 打开firefox浏览器 dr ...

  2. 关于new

    JS通过new关键字,可以调用相关的 构造方法 生成一个 对象 ,function ---> object

  3. luogu P2000 拯救世界

    嘟嘟嘟 题目有点坑,要你求的多少大阵指的是召唤kkk的大阵数 * lzn的大阵数,不是相加. 看到这个限制条件,显然要用生成函数推一推. 比如第一个条件"金神石的块数必须是6的倍数" ...

  4. OpenSCAD 大白

    $fn=10; module bag_bar(rr1,rr2,d) { rotate_extrude() difference() { hull() //hull() fast in 2D, no g ...

  5. 搭建OpenResty(Nginx+Lua)

    这篇文章是一个多月前写的,当时之所以搭建这个是为了最大程度上发挥Nginx的高并发效率(主要是结合lua脚本),参考的话,主要参考张开涛先生写的跟开涛学Nginx+lua系列文章,地址为:https: ...

  6. 乱入Linux界的我是如何学习的

    欢迎来到建哥学Linux,咳!咳!咳!开个玩笑哈,我是一个IT男,IT界的入门选手,正在学习Linux. 在之前,一直想进军IT界,学习IT技术,但是苦于没有人指导,也不知道学什么,最开始我自己在网上 ...

  7. 【Codeforces 1120C】Compress String

    Codeforces 1120 C 题意:给一个串\(S\),将这个串分成\(t_1..t_m\),如果\(t_i\)在\(t_1..t_{i-1}\)中作为子串出现过,那么这个的代价是\(b\),否 ...

  8. Git使用—第一讲:初识版本控制工具

    几乎所有出色的项目都不是一个人完成的,而是由一个团队共同合作开发完成的,这个时候多人之间的代码同步问题就显得异常重要了,因此版本控制工具也就应运而生了.常见的版本控制工具主要有SVN和Git,接下来要 ...

  9. UVA11255 Necklace Burnside、组合

    VJ传送门 因为有每种颜色个数的限制,所以不能使用Polya 考虑退一步,使用Burnside引理求解 回忆一下Burnside引理,它需要求的是置换群中每一个置换的不动点个数,也就是施加一次置换之后 ...

  10. Asp.Net MVC页面显示后台处理进度问题

    这个问题的背景是,用户通过浏览器上传文件或Excel数据到系统中,页面需要时时显示后台处理进度,以增强用户的体验. 在GitHub上找到一个一个项目,基本实现了这个功能,具体效果如下图 代码实现过程大 ...