文章目录

  • 序列
    • 概念
    • 分类
  • 列表 List
    • 创建
    • 访问列表中的值
    • 切片
      • append
      • insert
      • extend
      • del
      • pop
      • remove
      • clear
      • 通过索引和切片改
      • reverse
      • sort
    • find
    • index
    • count
  • 通用操作
  • 迭代for in
  • range

序列

概念

  • 序列是Python中最基本的⼀种数据结构。序列⽤于保存⼀组有序的数据,所 有的数据在序列当中都有⼀个唯⼀的位置(索引)并且序列中的数据会按照 添加的顺序来分配索引
  • 数据结构指计算机中数据存储的⽅式

分类

  • 可变序列(序列中的元素可以改变):例如 列表(list)字典(dict)
  • 不可变序列(序列中的元素不能改变):例如 字符串(string)元组(tuple)

列表 List

列表内的内容是有序的
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依次类推,最后一个是

创建

list1 = [1,'2',3,'4']
list2 = [1,2,3,4]
list3 = ['spam', 'Spam', 'SPAM!']

访问列表中的值

使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,如下所示:

list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5, 6, 7 ];
print (list1[0])
print (list2[1:5])

以上实例输出结果:

  physics[2, 3, 4, 5]

切片

列表[起始 : 结束 : 步⻓]

  • 起始即起始索引值
  • 结束即结束的索引值
  • 步长即间隔数(默认为1)
    • 可以省略三个元素

      • 如果省略结束位置, 则会从当前的开始位置⼀直截取到最后
      • 如果省略开始位置, 则会从第⼀个元素截取到结束的元素,但是不包括结 束的元素
      • 如果开始位置和结束位置都省略, 则则会从第⼀个元素开始截取到最后⼀ 个元素
        例如
list1 = [1,2,3,4,5,6]
print(list1[0:4:2]) #0开始,到索引值4结束,间隔为2
print(list1[0:5])  #0开始,到索引值5结束,间隔默认1
print(list1[::2])  #从头到尾,间隔数为2
print(list1[:5])  #从头到索引值5结束,间隔数默认1
print(list1[1:])  #从索引值1开始到尾,间隔数默认为1
print(list1[2::2])  #从索引值2开始到尾,间隔数为2
[1, 3]
[1, 2, 3, 4, 5]
[1, 3, 5]
[1, 2, 3, 4, 5]
[2, 3, 4, 5, 6]
[3, 5]

append

在列表末尾增加元素
例如:

list1 = [1,2,3,4,5,6]
print('修改前',list1)
list1.append(7)
print('修改后',list1)

结果:

修改前 [1, 2, 3, 4, 5, 6]
修改后 [1, 2, 3, 4, 5, 6, 7]

insert

insert(arg1,arg2) 像列表指定位置插⼊⼀个元素 参数1:要插⼊的位置 参数 2:要插⼊的元素
例如:

list1 = [1,2,3,4,5,6]
print('修改前',list1)
list1.insert(1,5) #1是要插入的位置,5是插入的元素
list1.insert(5,100)
print('修改后',list1)

结果:

修改前 [1, 2, 3, 4, 5, 6]
修改后 [1, 5, 2, 3, 4, 100, 5, 6]

extend

extend(iterable) 使⽤⼀个新的序列来扩展当前序列(它会将该序列的中元素 添加到列表中) 参数需要传递⼀个序列
例如:

list1 = [1,2,3,4,5,6]
print('修改前',list1)
list1.extend([7,8,9,10])
print('修改后',list1)

结果:

修改前 [1, 2, 3, 4, 5, 6]
修改后 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

del

删除列表中的指定索引值的元素

list1 = [1,2,3,4,5,6]
print('修改前',list1)
del list1[-1] #删6
del list1[1:3] #删索引值1到三。2,3
print('修改后',list1)

结果

修改前 [1, 2, 3, 4, 5, 6]
修改后 [1, 4, 5]

pop

pop() 根据索引删除并返回指定元素
例如

list1 = [1,2,3,4,5,6]
print('修改前',list1)
list1.pop(2) #删除索引值为2的,3
print('修改后',list1)

结果:

修改前 [1, 2, 3, 4, 5, 6]
修改后 [1, 2, 4, 5, 6]

remove

remove() 删除指定元素 (如果相同值的元素有多个,只会删除第⼀个)
例如

list1 = [1,2,3,4,5,6,2]
print('修改前',list1)
list1.remove(2)
print('修改后',list1)

结果:

修改前 [1, 2, 3, 4, 5, 6, 2]
修改后 [1, 3, 4, 5, 6, 2]

clear

clear()清空集合

list1 = [1,2,3,4,5,6,2]
print('修改前',list1)
list1.clear()
print('修改后',list1)

结果:

修改前 [1, 2, 3, 4, 5, 6, 2]
修改后 []

通过索引和切片改

  • 可以直接通过索引改变列表元素内容
  • 通过切⽚来修改(起始就是给切⽚的内容重新赋值,但是赋值的内容必须是⼀ 个序列)
  • 当设置了步⻓时,序列中元素的个数必须和切⽚中元素的个数保持⼀致
    例如:
ist1 = [1,2,3,4,5,6]
print('修改前',list1)
list1[0] = 7
list1[1:3]=10,11,12,13 #可以将少的元素改为多个元素达到增加效果print('修改后',list1)
list1[0:6:2] = 1,3,5
print('修改后后',list1) #当设置了步⻓时,序列中元素的个数必须和切⽚中元素的个数保持⼀致 否则报错# Traceback (most recent call last)

结果:

修改前 [1, 2, 3, 4, 5, 6]
修改后 [7, 10, 11, 12, 13, 4, 5, 6]
修改后后 [1, 10, 3, 12, 5, 4, 5, 6]

修改前 [1, 2, 3, 4, 5, 6]
修改后 [7, 10, 11, 12, 13, 4, 5, 6]
修改后后 [1, 10, 3, 12, 5, 4, 5, 6]

reverse

reverse翻转列表
例如:

list1 = [1,2,3,4,5,6]
print('修改前',list1)
list1.reverse()
print('修改后',list1)

结果:

修改前 [1, 2, 3, 4, 5, 6]
修改后 [6, 5, 4, 3, 2, 1]

sort

sort(key=None,reverse=False) ⽤来对列表中的元素进⾏排序,默认为正序,可以通过revers来控制升序或者降序
reverse: True降序;False 升序
例如:

list1 = [9,5,8,6,7,3,2]
print('修改前',list1)
list1.sort()
print('修改后升序',list1)
list1.sort(reverse=True)
print('修改后降序',list1)

结果:

修改前 [9, 5, 8, 6, 7, 3, 2]
修改后升序 [2, 3, 5, 6, 7, 8, 9]
修改后降序 [9, 8, 7, 6, 5, 3, 2]

find

  • Python find() 方法检测字符串中是否包含子字符串 str
  • 如果指定 start(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。

语法
find()方法语法:

str.find(str, start=0, end=len(string)) #默认开始为下标0,结束为最后一位

例如:

str='i very like you'
print(str.find('like'))   #默认开始为下标0,结束为最后一位
list1=[1,2,3]
print(list1.find(2))

结果:

7
1

index

  • Python index() 方法检测字符串中是否包含子字符串 str
  • 如果指定 start(开始) 和 end(结束) 范围,则检查是否包含在指定范围内
  • 该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常,返回valueerror。

index()方法语法:

str.index(str, start=0, end=len(string))

例如:

str='i very like you'
print(str.index('like'))   #默认开始为下标0,结束为最后一位
list1=[1,2,3]
print(list1.index(2))

结果:

7
1

count

  • count函数用于统计字符串中子字符串出现的次数,如果指定检测的开始和结束范围,则在该范围内进行检测,默认在整个字符串内部检测。
  • 该函数返回子字符串在字符串中出现的次数。
  • 如果指定 start(开始) 和 end(结束) 范围,则检查是否包含在指定范围内

函数语法:

`str.count(str,start,end)   #默认开始为下标0,结束为最后一位

例如:

str='i very like you'
print(str.count('like'))
list1=[1,2,3]
print(list1.count(2))

结果:

1
1

通用操作

  • ‘+’ 可以将两个列表拼接成⼀个列表
  • ‘*’ 可以将列表重复指定的次数 (注意2个列表不能够做乘法,要和整数做乘 法运算)
  • in 和 not in in⽤来检查指定元素是否在列表当中
  • not in ⽤来检查指定元素是否不在列表当中
  • len() 获取列表中元素的个数
  • max() 获取列表中最⼤值
  • min() 获取列表中最⼩值
  • list.index(x, start, end)获取列表中某个元素索引值
    • 第⼀个参数 获取指定元素在列表中的位置
    • 第⼆个参数 表示查找的起始位置
    • 第三个参数 表示查找的结束位置
  • list.find(x,start,end)
    • 第⼀个参数 获取指定元素在列表中的位置
    • 第⼆个参数 表示查找的起始位置
    • 第三个参数 表示查找的结束位置
  • list.count(x) 统计指定元素在列表中出现的次数
    例如:
list1 = [1,2,3,4,5,6,6,6,7]
list2 = [8,9,10]
print(list1+list2) #+ 将list1与list2合并
print(list2*2)     #* 将list2列表重复两次
print(list2 in list1)  #in list2的元素是否在list1中出现
print(list2 not in list1)  #not in list2的元素是否没有在list1中出现
print(len(list1))     #len 获取list1中元素的个数
print(max(list1))    #max list1的最大值
print(min(list1))    #min list1中的最小值
print(list1.index(5,0,7))   #index 在list1的序列0到7中搜索5
print(list1.find(5,0,7))   #find 在list1的序列0到7中搜索5
print(list1.count(6))     #count 在list1中6出现了几次

结果:

[1, 2, 3, 4, 5, 6, 6, 6, 7, 8, 9, 10]
[8, 9, 10, 8, 9, 10]
False
True
9
7
1
4
4
3

迭代for in

语法:

for 变量 in 序列(遍历的规则):代码块
list1 = [1,2,3,4,5,6,6,6,7]
for i in list1:print(i)
1
2
3
4
5
6
6
6
7

range

常常与for in 配合使用
使用【range(n)】就会生成一个从【0】到【n-1】的整数序列。
range(开始,结束,步长) (包括开始,不包括结束,步长就是间隔数)
例如:

for i in range(5):print(i)
print('************')
for i in range(0,10,2):print(i)

结果:

0
1
2
3
4
************
0
2
4
6
8

序列,列表,迭代,range相关推荐

  1. python利用range生成包含1-10的列表_Python列表干货:创建数字列表:range()函数用法...

    python range() 函数可创建一个整数列表,一般用在 for 循环中. 语法: range(start, stop[, step]) 参数说明: start: 计数从 start 开始.默认 ...

  2. python序列数据类型_python 数据类型 序列——列表

    python 数据类型 序列--列表 浏览次数: 发布时间:2015-08-21 11:38 python 数据类型 序列--列表 **列表** list是处理一组有序项目的数据结构,即你可以在一个列 ...

  3. 【Python】序列 列表

    序列 & 列表 序列 序列的概念 序列的分类 列表 列表的概念 列表的使用 基本操作 切片操作 常用操作 列表的修改 (1)添加 (2)删除 (3)修改 (4)排序 (5)复制 for in ...

  4. python实验二序列_python 学习笔记 二 序列, 列表, 元组, 字符串

    序列 序类是一个集合概念, Pthon包括六种内建序列: 列表, 元组, 字符串, Unicode字符串, buffer对象和xrange对象. 其中, 我们最长用的要数前三个. 通用序列操作 1. ...

  5. python 列表迭代_Python | 以相反的顺序迭代列表

    python 列表迭代 Given a list and we have to iterate it in reverse order in python. 给定一个列表,我们必须在python中以相 ...

  6. (四)52周存钱挑战3.0-----for循环遍历列表、range()

    for 循环 • 使用for语句可以循环遍历整个序列的内容for < x > in < list1 >:<body> • 循环变量x在每次循环时,被赋值成对应的元素 ...

  7. python序列—列表,元组,字符串

    目录 一.  1.列表语法 2.列表切片 3.列表的使用--增/删/改 1.增 2.删 3.改 4.列表的运算 5.列表的嵌套 访问 6.列表的拷贝 浅拷贝 深拷贝 7.列表推导式 基本语法 获取元素 ...

  8. 列表和range、元组

    1.listt.append()默认追加在后面 2.list.insert(索引,"元素")按索引添加 3.list.extend()可添加多个字或字母的字符串,也可以是列表 4. ...

  9. python 序列列表区别_Python6序列和列表

    1.序列(sequence) 1.1基本概念 序列是Python中最基本的⼀种数据结构.序列用于保存⼀组有序的数据,所有的数据在序列当中都有⼀个唯⼀的位置(索引)并且序列中的数据会按照 添加的顺序来分 ...

  10. 列表, 元组, range() 知识总结

    一:列表的增删改查 1,列表增加元素 lst = ["赵四", "施瓦星格", "黄渤", "郭达森", "赛 ...

最新文章

  1. MySQL数据库自连接查询inner join ... on
  2. 【 FPGA 】FIR 滤波器之Single-rate FIR滤波器的系数数据(Filter Coefficient Data)
  3. Ubuntu12.04下arm交叉编译环境的建立
  4. xticks函数--Matplotlib
  5. 7. 敏捷软件开发框架 - 极限编程XP
  6. Linux:telnet命令安装
  7. 【博弈论】耶鲁大学公开课--博弈论Problem Set 1--Solution
  8. xcode清理缓存_Mac 垃圾清理软件腾讯柠檬Lemon
  9. Scala Either Left Right
  10. Cloud Native 演进可行性研究
  11. Puppet erb模板介绍(三十二)
  12. FreeSWITCH软电话互打
  13. canvas--放大镜效果
  14. 樱桃是樱花的果实吗?
  15. 2022-2027年中国医学影像设备市场竞争态势及行业投资前景预测报告
  16. Vargant - 复数VM共用相同的私有key
  17. 什么是飞机的上反效应
  18. js 获取下周一的具体年月日格式为(YYYY-MM-DD)
  19. phpcms数据库备份与恢复_数据库备份与恢复方案
  20. Android多媒体支撑库OpenCore视频硬件加速

热门文章

  1. python程序设计教程张莉课后答案_清华大学出版社-图书详情-《Visual Basic程序设计教程》...
  2. mint-ui font icon
  3. 【致远】安装软件过程中:提示环境检查不通过,安装程序无法继续运行。
  4. 推荐系统文档(持续更新)
  5. PS老照片修复软件AKVIS,翻新效果不得不服
  6. 教资注册后报名前,这个细节千万不要忘记!
  7. 3分钟解决阿里云ECS设置的安全组没有生效的问题
  8. 理发店问题--操作系统进程互斥
  9. 30天,APP创业从0到1【7.11郑州站】
  10. 实战:获取33种生活指数