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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/390179.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

递归分解因数

题目总时间限制: 1000ms 内存限制: 65536kB描述给出一个正整数a&#xff0c;要求分解成若干个正整数的乘积&#xff0c;即a a1 * a2 * a3 * ... * an&#xff0c;并且1 < a1 < a2 < a3 < ... < an&#xff0c;问这样的分解的种数有多少。注意到a a也是一种分解…

剑指 Offer 51. 数组中的逆序对

剑指 Offer 51. 数组中的逆序对 在数组中的两个数字&#xff0c;如果前面一个数字大于后面的数字&#xff0c;则这两个数字组成一个逆序对。输入一个数组&#xff0c;求出这个数组中的逆序对的总数。 示例 1: 输入: [7,5,6,4] 输出: 5 限制&#xff1a; 0 < 数组长度 &…

react 图像识别_无法在React中基于URL查找图像

react 图像识别If youre new to React and are having trouble accessing images stored locally, youre not alone.如果您不熟悉React&#xff0c;并且无法访问本地存储的图像&#xff0c;那么您并不孤单。 Imagine you have your images stored in a directory next to a co…

html单行元素居中显示,多行元素居左显示

有很多的业务需要元素或者文字如果单行&#xff0c;居中显示&#xff0c;如果数据增多&#xff0c;居中显示代码&#xff08;直接复制到编辑器可用&#xff09;&#xff1a;<!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8&q…

ML.NET 0.2版增加了集群和新示例

在今年的Build大会上&#xff0c;微软首次发布了ML.NET。ML.NET是开源的、跨平台的以及运行在.NET上的机器学习框架。微软的Ankit Asthana宣布该项目已经完成了第二版的开发。第二版增加了几个新功能&#xff0c;包括名为集群的新机器学习任务&#xff0c;交叉验证和训练-测试&…

如何变得井井有条-来之不易的秘诀来组织您的生活

Because of the changes brought about by COVID-19, many people have had to find healthy and productive ways of working remotely. 由于COVID-19带来的变化&#xff0c;许多人不得不寻找健康有效的远程工作方式。 Some have been sent home and can continue doing thei…

被未知进程占用端口的解决办法

echo off echo 这是用来结束一个未知进程占用端口的批处理可执行文件ipconfig /allnetstat -anoecho 请查看以上信息&#xff0c;输入被占用的端口号:set /p port请输入port:tasklist|findstr %port%echo 请结合上述程序进行输入&#xff0c;请**谨慎输入**set /p program请输入…

怎样在减少数据中心成本的同时不牺牲性能?

2019独角兽企业重金招聘Python工程师标准>>> 导读虽然组织对数据中心提出了更高的要求&#xff0c;但IT管理人员确实有办法在严格的预算内展开工作。如今&#xff0c;组织认为即使性能预期不断提高&#xff0c;其数据中心预算也在缩减。尽管2018年IT支出总体预计增长…

赛普拉斯 12864_如何使用赛普拉斯自动化辅助功能测试

赛普拉斯 12864In my previous post, I covered how to add screenshot testing in Cypress to ensure components dont unintentionally change over time. 在上一篇文章中 &#xff0c;我介绍了如何在赛普拉斯中添加屏幕截图测试&#xff0c;以确保组件不会随时间变化。 Now…

anaconda在win下和在mac下的安装区别

1. 在win下安装anaconda后会提示你选择环境变量&#xff0c;但是建议使用默认。 于是CMD进入终端和使用navigator进入终端不一样&#xff0c;前者会提示无此命令&#xff0c;只能通过navigator进入终端 即使在系统变量变量Path里添加了路径&#xff0c;使用CMD还是不能使用pyth…

fcn从头开始_如何使用Go从头开始构建区块链

fcn从头开始介绍 (Introduction) With Web 3.0 and blockchain becoming more mainstream every day, do you know what blockchain is? Do you know its technical advantages and use-cases?随着Web 3.0和区块链每天变得越来越主流&#xff0c;您知道什么是区块链吗&#x…

java实现无序数组结构

一、数组的2种定义方式 数据类型 [] 数组名称 new 数据类型[数组长度]; 这里 [] 可以放在数组名称的前面&#xff0c;也可以放在数组名称的后面&#xff0c;一般放在名称的前面 数据类型 [] 数组名称 {数组元素1&#xff0c;数组元素2&#xff0c;......} 这种方式声明数组的…

Android App 的主角:Activity

Android App 程序主要由4种类型组成&#xff1a; 1.Activity&#xff08;活动&#xff09;&#xff1a;主要负责屏幕显示画面&#xff0c;并处理与用户的互动。每个Android App至少都会有一个Activity&#xff0c;在程序一启动时显示主画面供用户操作。 2.Service&#xff08;后…

通过构建Paint App学习React Hooks

According to people in the know, React Hooks are hot, hot, hot. In this article, we follow Christian Jensens 14-part tutorial to find out about the basics of this new feature of React. Follow along to find out more! 据知情人士称&#xff0c;React Hooks很热&…

正则表达式 匹配常用手机号 (13、15\17\18开头的十一位手机号)

原文:正则表达式 匹配常用手机号 &#xff08;13、15\17\18开头的十一位手机号&#xff09;^1[3578]\d{9}$ ^1表示以1开头&#xff0c;[3578]表示第二位的数字为3578中的任意一个&#xff0c;\d{9}表示0~9范围内的数字匹配九次,$表示结束&#xff0c;12位以上的数字不匹配。

Npoi导出excel整理(附源码)

前些日子做了一个简单的winform程序&#xff0c;需要导出的功能&#xff0c;刚开始省事直接使用微软的组件&#xff0c;但是导出之后发现效率极其低下&#xff0c;绝对像web那样使用npoi组件&#xff0c;因此简单的进行了整理&#xff0c;包括直接根据DataTable导出excel及Data…

44. 通配符匹配

44. 通配符匹配 给定一个字符串 (s) 和一个字符模式 &#xff0c;实现一个支持 ‘?’ 和 ‘*’ 的通配符匹配。 ? 可以匹配任何单个字符。 * 可以匹配任意字符串&#xff08;包括空字符串&#xff09;。 两个字符串完全匹配才算匹配成功。说明: s 可能为空&#xff0c;且…

递归javascript_使用freeCodeCamp挑战解释了JavaScript中的递归

递归javascriptIn this article I will touch on a few important ideas to help you understand Recursion in JavaScript. I’m not going to give a full definition here, but you can take a look at what Wikipedia has to say. 在本文中&#xff0c;我将介绍一些重要的想…

入库成本与目标成本对比报表中我学到的东西

1、SQL方面&#xff1a; &#xff08;1&#xff09;、用DECODE函数解决除数为零的情况 具体语法&#xff1a; DECODE&#xff08;参数&#xff0c;0&#xff0c;1&#xff0c;参数&#xff09; ->DECODE(TAB1.A8&#xff0c;0&#xff0c;1&#xff0c;TAB1.A8) &#xff08…

J - Borg Maze

J - Borg Maze 思路&#xff1a;bfs最小生成树。#include<queue> #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #define MAXN 110 using namespace std; int fa[MAXN]; struct nond{int x,y,z; }v[MAXN*MAXN]; s…