Python 列表List的定义及操作
# 列表概念:有序的可变的元素集合# 定义 # 直接定义 nums = [1,2,3,4,5]# 通过range函数构造,python2 和python3 版本之间的差异; # python3 用的时候才会去构造 nums = range(1,101)# 列表嵌套 # 注意和C语言中数组的区别,是否可以存放不同的数据类型 nums = [1,2,"ab","1",True,["a","b","c"]]# 列表赋值给另外一个列表 # 原始的方式 nums = [1,2,3,4,5] resultList = [] for num in nums:resultList.append(num ** 2) print(resultList) # [1, 4, 9, 16, 25]# 列表推导式 nums = [1,2,3,4,5] # [表达式 for 变量 in 列表] resultList = [num ** 2 for num in nums] print(resultList) # [1, 4, 9, 16, 25]# [表达式 for 变量 in 列表 if 条件] resultList = [num ** 2 for num in nums if num % 2 != 0] print(resultList) # [1, 9, 25]# 列表的增,删,改,插#-------------------------------------增------------------------------------# # append # 作用 # 往列表中, 追加一个新的元素 # 在列表的最后 # 语法 # l.append(object) # 参数 # object # 想要添加的元素 # 返回值 # None # 注意 # 会直接修改原数组 nums = [1, 2, 3, 4] nums.append(5) # 无返回值 none print(nums) # [1, 2, 3, 4, 5]# insert # 作用 # 往列表中, 追加一个新的元素 # 在指定索引前面 # 语法 # l.insert(index, object) # 参数 # index # 索引, 到时会插入到这个索引之前 # object # 想要添加的元素 # 返回值 # None # 注意 # 会直接修改原数组 nums = [1, 2, 3, 4] nums.insert(2, 5) print(nums) # [1, 2, 5, 3, 4] # extend # 作用 # 往列表中, 扩展另外一个可迭代序列 # 语法 # l.extend(iterable) # 参数 # iterable # 可迭代集合 # 字符串 # 列表 # 元组 # ... # 返回值 # None # 注意 # 会直接修改原数组 # 和append之间的区别 # extend可以算是两个集合的拼接 # append是把一个元素, 追加到一个集合中 nums = [1, 2, 3, 4] nums2 = ["a", "b", "c"] nums.extend(nums2) print(nums) # [1, 2, 3, 4, 'a', 'b', 'c']# 乘法运算 # ["a"] * 3 # = # ['a', 'a', 'a'] nums = [1, 2] print(nums * 2) # [1, 2, 1, 2]# 加法运算 # ["a"] + ["b", "c"] # = # ["a", "b", "c"] # 和extend区别 # 只能列表类型和列表类型相加 n1 = [1, 2] n2 = ["a", "b"] n3 = ["abc", "cdf"] print(n1 + n2); #[1, 2, 'a', 'b'] print(n1 + n3); #[1, 2, 'abc', 'cdf']# ------------------------------------------删------------------------------# # del 语句 # 作用 # 可以删除一个指定元素(对象) # 语法 # del 指定元素 # 注意 # 可以删除整个列表 # 删除一个变量 # 也可以删除某个元素 nums = [1, 2, 3, 4] del nums[1] print(nums) # [1, 3, 4]#del nums #这样也行 #print(nums)#程序会报错# pop # 作用 # 移除并返回列表中指定索引对应元素 # 语法 # l.pop(index=-1) # 参数 # index # 需要被删除返回的元素索引 # 默认是-1 # 也就对应着列表最后一个元素 # 返回值 # 被删除的元素 # 注意 # 会直接修改原数组 # 注意索引越界 nums = [1, 2, 3, 4] nums.pop() #默认-1 print(nums)# remove # 作用 # 移除列表中指定元素 # 语法 # l.remove(object) # 参数 # object # 需要被删除的元素 # 返回值 # None # 注意 # 会直接修改原数组 # 如果元素不存在 # 会报错 # 若果存在多个元素 # 则只会删除最左边一个 # 注意循环内删除列表元素带来的坑 nums = [1, 2, 2, 3, 4] nums.remove(2) #则只会删除最左边一个 print(nums) #[1, 2, 3, 4]# ---------------------------------------------改----------------------------------------# # names[index] = 666 nums = [1, 2, 3] nums[1] = 5 print(nums) #[1, 5, 3]#--------------------------------------------- 查----------------------------------------# # 获取单个元素 # items[index] # 注意负索引 nums = [1, 2, 3] print(nums[-1]) # 3# 获取元素索引 # index() nums = [1, 2, 5, 3, 4] print(nums.index(5)) # 2# 获取指定元素个数 # count() nums = [1, 2, 5, 2, 3, 4] print(nums.count(2) ) #2# 获取多个元素 # 切片 # items[start:end:step] # 遍历 # 方式1 # 根据元素进行遍历 # for item in list: # print(item) # 方式2 # 根据索引进行遍历 # for index in range(len(list)): # print(index, list[index]) # 方式3(了解) # 创建对应的枚举对象 # 概念 # 通过枚举函数, 生成的一个新的对象 # 作用 # 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列 # 同时列出数据下标和数据 # 语法 # enumerate(sequence, [start=0]) # sequence -- 一个序列、迭代器或其他支持迭代对象。 # start -- 下标起始位置。 # 举例 # l = ["a", "b", "c"] # enumerate(l, 1) # 一个待枚举的对象 # 转换成为list之后, 具体数据如下 # [(1, 'a'), (2, 'b'), (3, 'c')] # 遍历枚举对象 # for index, value in 枚举对象: # print(index, value) # 方式4(了解) # 使用迭代器进行遍历 # iterL = iter(list) # for item in iterL: # print(item)# 访问集合的方式-迭代器 # 概念 # 迭代 # 是访问集合元素的一种方式 # 按照某种顺序逐个访问集合中的每一项 # 可迭代对象 # 能够被迭代的对象, 称为可迭代对象 # 判定依据 # 能作用于for in # 判定方法 # import collections # isinstance(obj, collections.Iterable) # 迭代器 # 是可以记录遍历位置的对象 # 从第一个元素开始, 往后通过next()函数, 进行遍历 # 只能往后, 不能往前 # 判定依据 # 能作用于next()函数 # 判定方法 # import collections # isinstance(obj, collections.Iterator) # 注意 # 迭代器也是可迭代对象, 所以也可以作用于for in # 为什么会产生迭代器? # 1. 仅仅在迭代到某个元素时才处理该元素 # 在此之前, 元素可以不存在 # 在此之后, 元素可以被销毁 # 特别适合用于遍历一些巨大的或是无限的集合 # 例如 "菲波那切数列" # 2. 提供了一个统一的访问集合的接口 # 可以把所有的可迭代对象, 转换成迭代器进行使用 # iter(Iterable) # iter(str) # iter(list) # iter(tuple) # iter(dict) # ... # 迭代器简单使用 # 使用next()函数, 从迭代器中取出下一个对象, 从第1个元素开始 # 因为迭代器比较常用, 所以在Python中, 可以直接作用于for in # 内部会自动调用迭代器对象的next() # 会自动处理迭代完毕的错误 # 注意事项 # 如果取出完毕,再继续取, 则会报错 # StopIteration # 迭代器一般不能多次迭代import collectionsnums = [1, 2, 3] result = isinstance(nums, collections.Iterable) print(result) # True result = isinstance(nums, collections.Iterator) print(result) # Flase# 转为迭代器 it = iter(nums)for v in it:print(v)# 判定 # 元素 in 列表 # 元素 not in 列表# 比较 # cmp() # 内建函数 # 如果比较的是列表, 则针对每个元素, 从左到右逐一比较 # 左 > 右 # 1 # 左 == 右 # 0 # 左 < 右 # -1 # Python3.x不支持 # 比较运算符 # == # > # < # ... # 针对每个元素, 从左到右逐一比较# 排序 # 方式1 # 内建函数 # 可以对所有可迭代对象进行排序 # 语法 # sorted(itrearble, key=None, reverse=False) # 参数 # itrearble # 可迭代对象 # key # 排序关键字 # 值为一个函数,此函数只有一个参数且返回一个值用来进行比较 # reverse # 控制升序降序 # 默认False # 升序 # 返回值 # 一个已经排好序的列表 # 列表类型 s = "cdefga" result = sorted(s); print(result) #['a', 'c', 'd', 'e', 'f', 'g'] s = [2,3,1,4,5] result = sorted(s, reverse = True) print(result) #[5, 4, 3, 2, 1] s = [("a", 16), ("a1",13), ("a2", 14)] result = sorted(s) print(result) #[('a', 16), ('a1', 13), ('a2', 14)]#按元组的第一个元素来排序 def getKey(x):return x[1] result = sorted(s, key=getKey) print(result) #[('a1', 13), ('a2', 14), ('a', 16)]# 方式2 # 列表对象方法 # 语法 # list.sort(key=None, reverse=False) # 参数 # key # 排序关键字 # 值为一个函数,此函数只有一个参数且返回一个值用来进行比较 # reverse # 控制升序降序 # 默认False # 升序 s = [2,3,1,4,5] res = s.sort() print(res, s) # None [1, 2, 3, 4, 5] 注意和内建函数的方法不同点;# 乱序 # 可以随机打乱一个列表 # 导入random模块 # import random # random.shuffle(list)import random list = [1, 2, 3, 4, 5] res = random.shuffle(list) print(res, list) #None [4, 3, 5, 2, 1] 后面序列随机,修改原序列的本身# 反转 # l.reverse() list = [1, 2, 3, 4, 5] res = list.reverse() print(res, list) #None [5, 4, 3, 2, 1]# 切片反转 # l[::-1] list = [1, 2, 3, 4, 5] res = list[::-1] print(res, list) #[5, 4, 3, 2, 1] [1, 2, 3, 4, 5]
转载于:https://www.cnblogs.com/delphiclub/p/8460575.html
Python 列表List的定义及操作相关推荐
- python课堂实例_享学课堂带你了解并读懂Python列表中的6种操作实例
原标题:享学课堂带你了解并读懂Python列表中的6种操作实例 今天为大家来介绍一下很多人在享学课堂上学习Python时,经常会用到列表,列表(list)就是动态数组,相当于C++标准库的Vector ...
- python基础之字符串定义常见操作、列表定义进阶操作
字符串 创建字符串 创建字符串有三种方式:' ' ," " , ''' ''' 三引号允许换行,并且可以保留换行 引用--访问字符串中的字符 引用是访问字符串中的一个字符 不能超出 ...
- c 提取引号中间的字符串_Python | 一文看懂Python列表、元组和字符串操作
好文推荐,转自CSDN,原作星辰StarDust 序列 序列是具有索引和切片能力的集合. 列表.元组和字符串具有通过索引访问某个具体的值,或通过切片返回一段切片的能力. 列表.元组.字符串都属于序列 ...
- angular 字符串转换成数字_一文看懂Python列表、元组和字符串操作
好文推荐,转自CSDN,原作星辰StarDust,感觉写的比自己清晰-大江狗荐语. 序列 序列是具有索引和切片能力的集合. 列表.元组和字符串具有通过索引访问某个具体的值,或通过切片返回一段切片的能力 ...
- angular 字符串转换成数字_Python | 一文看懂Python列表、元组和字符串操作
好文推荐,转自CSDN,原作星辰StarDust 序列 序列是具有索引和切片能力的集合. 列表.元组和字符串具有通过索引访问某个具体的值,或通过切片返回一段切片的能力. 列表.元组.字符串都属于序列 ...
- python元组和列表的联系_Python | 一文看懂Python列表、元组和字符串操作
好文推荐,转自CSDN,原作星辰StarDust 序列序列是具有索引和切片能力的集合. 列表.元组和字符串具有通过索引访问某个具体的值,或通过切片返回一段切片的能力. 列表.元组.字符串都属于序列 1 ...
- python 列表 extend append_Python中list操作之append、extend
先来一段代码: squares = [] for i in range(1, n+1): squares.append(i*i) 这是非常常见的一种通过append方法逐个增加元素创建列表的场景,而且 ...
- Python列表必会的基础操作
Python列表增加.删除.修改.查看操作 增加元素(三种方法) 删除元素(四种方法) 修改元素 查看元素 列表操作 增加元素(三种方法) # 列表增加元素 my_list = [1,2,3] # 1 ...
- python 列表加入变量_python-变量操作-列表
Python3 列表 序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见 ...
最新文章
- 题目:任意给定一个浮点数,计算这个浮点数的立方根。(基于二分法和牛顿迭代法)(基于Java实现)
- java元婴期(19)----java进阶(spring(3)----AOP相关概念实现方式)
- Httpclient 实现带参文件上传
- sparkmllib scala GBDT Demo
- 004:神秘的数组初始化_使容器神秘化101:面向初学者的深入研究容器技术
- 你知道自己执行的是哪个jre吗?
- C++之指针探究(十二):指针、下标、数组及其作函数参数
- CSDN搜索可以搜博客代码了
- 【计算机组成原理】1.计算机系统概述
- 《算法图解》读书笔记—像小说一样有趣的算法入门书
- SAXReader简单实例分析
- 文本域自适应(textarea)
- 基于BIM的施工安全管理方法有哪些?
- javaweb_会话管理(sessionCookie)
- Linux忘记密码的解决方法
- java 过滤关键字 自定义字典库
- 把一个人的特点写具体作文_把一个人的特点写具体的作文
- 仿ios相机apk_icamera相机下载-icamera仿苹果软件v4.0_5577安卓网
- 训练GloVe中文词向量
- 苹果手机自带邮件APP配置腾讯企业邮箱(EXCHANGE协议)
热门文章
- c语言最大公约数和最小公倍数_五年级奥数课堂之七:公因数和公倍数
- linux 无密码登录另一台服务器,ECS Linux服务器ssh免密码登录另外一台服务器的具体设置...
- Linux监控CPU关闭服务器,监控Linux服务器CPU和内存
- python求解三元一次方程_北师大版八上数学5.2 求解二元一次方程组 知识点微课精讲...
- Java1.5增加了新特性:可变参数
- 求两个字符串的最长公共子串
- 《MySQL——Innodb改进LRU算法》
- c# 中关键字_C#中的“使用”关键字
- 远控免杀专题(29)-C#加载shellcode免杀-5种方式(VT免杀率8-70)
- php title限制字数,dedecms:title解决字数限制的两种方法