博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1.4 基础数据类型 -- 列表与元组
阅读量:5349 次
发布时间:2019-06-15

本文共 3034 字,大约阅读时间需要 10 分钟。


1列表:

列表是一种容器, 属于序列类型, 是序列中的可变数据类型. 用[ ]来表示, 其数据类型关键字为list, 其中的每一个元素用”,”进行分割, 其元素可以是任意类型, 且可以混合类型, 比如整型与字符串共存于同一个列表容器中: lst = [1, “hello”]


2.序列通用操作(字符串, 列表, 元组)

(1).适用所有序列的操作

项目 描述
s[j] 返回一个序列的元素
s[i: j] 返回一个切片
s[i:j:stride] 返回一个扩展切片
len(s) s中的元素个数
min(s) s中的最小值
max(s) s中的最大值
sum(s) s中各项的和(元素需全为数字)
all(s) 检查s中的所有项是否为True
any(s) 检查s中的任意项是否为True

 

1 # 创建一个列表 2 lst=[1,2,3]  3 # 队列表进行索引取值 4 a = lst[0] 5 print(a)# 结果为:1  6 # 对列表进行切片, 注意这里索引从0开始, 切片不包括索引为2的元素 7 b = lst[0:2] 8 print(b)# 结果为: [1, 2]  9 # 指定步长对列表切片, 步长2代表每两个元素取一个lst[:]代表切片从头到尾全切10 c = lst[::2]11 print(c)# 结果为:[1, 3] 12 # 输出列表长度13 print(len(lst))# 结果为: 3 14 # 输出列表元素中的最小值15 print(min(lst))# 结果为: 1 16 # 输出列表元素中的最大值17 print(max(lst))# 结果为: 3 18 # 对列表中的所有元素求和, 要求序列元素全部为数字19 print((sum(lst)))# 结果为: 6

 


 

(2).针对可变序列类型(列表)的操作

项目 描述
s[i] = v 序列赋值
s[i:j] = t 切片赋值
s[i:j:stride] = t 扩展切片赋值
del s[i] 序列项删除
del s[i:j] 切片删除
del [i:j:stride] 扩展切片删除

1 # 定义两个列表 2 lst1 =[1,2,3,4,5] 3 lst2 =[1,2,3,4,5]  4 # 将lst1的0索引元素赋值为9 5 lst1[0]=9 6 print(lst1)# 结果为: [9, 2, 3, 4, 5]  7 # 将lst1的前两个元素变为1, 2 8 lst1[0:2]=[1,2] 9 print(lst1)# 结果为: [1, 2, 3, 4, 5] 10 # 将lst1中的元素从0索引开始, 每2个取一个, 并将该元素的值变为011 lst1[::2]=[0,0,0]12 print(lst1)# 结果为: [0, 2, 0, 4, 0] 13 # 删除lst1的0索引元素14 del lst1[0]15 print(lst1)# 结果为: [2, 0, 4, 0] 16 # 删除lst的前3个元素17 del lst1[0:3]18 print(lst1)# 结果为: [0] 19 # 对lst2中的元素从0索引开始每2个其一个并进行删除20 del lst2[::2]21 print(lst2)# 结果为: [2, 4]

 

 


 

3.列表的相关方法

方法分类 方法 描述
增操作    lst.append(x) 追加元素
lst.insert(index, x) 插入元素
lst.extend([…]) 迭代添加
删操作   lst.pop([index]) 弹出元素
lst.remove(x) 移除元素
  改操作     lst[index] = x 序列项赋值
lst[i:j] = […] 切片赋值
lst.reverse() 反序列表
lst.sort([key[, reverse]]) 排序(默认升序)
查操作   lst.count(x) 计算x在列表中出现的次数
lst.index(x[, start[, stop]]) 从列表中查找某一元素在指定切片内第一次出现的索引位置

1 lst =[1]  2 # 给列表追加一个元素2 3 lst.append(2) 4 print(lst)# 结果为:[1, 2]  5 # 在列表的开头插入一个元素"a" 6 lst.insert(0,0) 7 print(lst)# 结果为:["a", 1, 2]  8 # 向列表中迭代添加一个列表[3, 4, 5] 9 lst.extend([3,4,5])# 结果为:["a", 1, 2, 3, 4, 5] 10 # 弹出列表倒数第二个元素411 lst.pop(-2)12 print(lst)# 结果为:["a", 1, 2, 3, 5] 13 # pop()不指定参数则默认弹出列表最后一个元素14 lst.pop()15 print(lst)# 结果为:["a", 1, 2, 3] 16 # 移除列表元素"a"17 lst.remove("a")18 print(lst)# 结果为: [1, 2, 3] 19 # 将列表的第一个元素修改为420 lst[0]=421 print(lst)# 结果为: [4, 2, 3] 22 # 将列表的后两个元素修改为7,623 lst[1:]=[7,6]24 print(lst)# 结果为: [4, 7, 6] 25 # 将列表反序26 lst.reverse()27 print(lst)# 结果为: [6, 7, 4] 28 # 将列表降序排序(升序只需要去掉reverse参数即可)29 lst.sort(reverse=True)30 print(lst)# 结果为: [7,6,4] 31 # 计算7在lst中出现的次数32 print(lst.count(7))# 结果为: 1 33 # 查看1在lst2中索引1到5的区域第一次出现位置34 lst2 =[1,2,1,3,4,5]35 print(lst2.index(1,2))# 结果为: 2

 


 

4.元组

元组是Python的基本数据类型之一,用小括号括起来,里面可以放任何数据类型的数据,元组为用户提供查询,循环及切片,但不可以更改.

说明:

  • 针对元组的不可变是指元组的元素不可变,但当元组内部的元素是可变数据类型是,元组元素的子元素是可变的.如:元组中包含列表,该列表不可变,但该列表内部的元素可以变.
  • 当元组只有一个元素且该元素为整型,则此时元组的数据类型为元组.
  • 元组内只有一个元素时,元素是什么类型,则元组就是什么类型.元组元素为空或其内具有两个及两个元素以上时,则元组的类型为元组.

5.元组相关方法:

  • tuple.count(object):统计元组中指定对象的个数

  • tuple.index(object):索引元组中指定元素的位置

    • index()方法会从左到右索引元组中第一个指定的元素位置

    • index()方法如果索引的对象不存在,则报错”ValueError: tuple.index(x): x not in tuple”

  • length = len(tuple):确定元组的长度

转载于:https://www.cnblogs.com/Jermy/articles/10245227.html

你可能感兴趣的文章
As-If-Serial 理解
查看>>
洛谷P1005 矩阵取数游戏
查看>>
在Silverlight中使用HierarchicalDataTemplate为TreeView实现递归树状结构
查看>>
无线通信基础(一):无线网络演进
查看>>
WebSocket 时时双向数据,前后端(聊天室)
查看>>
关于python中带下划线的变量和函数 的意义
查看>>
linux清空日志文件内容 (转)
查看>>
安卓第十三天笔记-服务(Service)
查看>>
Servlet接收JSP参数乱码问题解决办法
查看>>
Ajax : load()
查看>>
MySQL-EXPLAIN执行计划Extra解释
查看>>
Zookeeper概述
查看>>
Zookeeper一致性级别
查看>>
Linux远程登录
查看>>
Linux自己安装redis扩展
查看>>
HDU 1016 Prime Ring Problem(dfs)
查看>>
C#中结构体与字节流互相转换
查看>>
session和xsrf
查看>>
Linux目录结构
查看>>
luoguP3414 SAC#1 - 组合数
查看>>