首页
学习
活动
专区
圈层
工具
发布

【Python】列表 List ① ( 数据容器简介 | 列表 List 定义语法 | 列表中存储类型相同的元素 | 列表中存储类型不同的元素 | 列表嵌套 )

一、数据容器简介 Python 中的 数据容器 数据类型 可以 存放多个数据 , 每个数据都称为 元素 , 容器 的 元素 类型可以是任意类型 ; Python 数据容器 根据 如下不同的特点 : 是否允许元素重复...列表定义语法 : 列表标识 : 使用 中括号 [] 作为 列表 的标识 ; 列表元素 : 列表的元素之间 , 使用逗号隔开 ; 定义 列表 字面量 : 将元素直接写在中括号中 , 多个元素之间使用逗号隔开...或者 list() 表示空列表 ; # 空列表定义 变量 = [] 变量 = list() 上述定义 列表 的语句中 , 列表中的元素类型是可以不同的 , 在同一个列表中 , 可以同时存在 字符串 和...数字类型 ; 2、代码示例 - 列表中存储类型相同的元素 代码示例 : """ 列表 List 代码示例 """ # 定义列表类 names = ["Tom", "Jerry", "Jack"] #...- 列表中存储类型不同的元素 代码示例 : """ 列表 List 代码示例 """ # 定义列表类 names = ["Tom", 18, "Jerry", 16, "Jack", 21] #

7.6K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    一日一技:在Python里面如何获取列表的最大n个元素或最小n个元素?

    我们知道,在Python里面,可以使用 max和 min获得一个列表的最大、最小的元素: a = [4, 2, -1, 8, 100, -67, 25]max_value = max(a)min_value...= min(a) print(max_value)print(min_value) 运行效果如下图所示: 那么问题来了,如何获取最大的3个元素和最小的5个元素?...(f'最大的三个元素:{a[-3:]}') 那有没有其他办法呢?...它会把原来的列表转换成一个堆,然后取最大最小值。 需要注意,当你要取的是前n大或者前n小的数据时,如果n相对于列表的长度来说比较小,那么使用 heapq的性能会比较好。...但是如果n和列表的长度相差无几,那么先排序再切片的性能会更高一些。

    9.7K30

    python比较列表中元素大小和列表中元素的判定

    列表的判定主要是判定列表中是否包含某个元素,使用逻辑运算符判定就可以了;列表的比较稍微复杂一些,首先比较的是两个列表中对应元素的大小,如果元素值一样,再比较列表长度。...一、列表元素判定 str1 = 'abcde'print('a' in str1) print('a' not in str1) list1 = ['python', 'java', 'php', 'MySql...', 'C++', 'C', 'php', 'C#'] print('MySql' in list1) print('MySql' not in list1) 二、列表之间的大小比较 # 列表比较标准:...先针对每个元素逐一比较,然后在比较长短 # 直接通过比较符来比较列表大小 list2 = [1, 2, 3] list3 = [2, 3, 4] list4 = [2, 3] print(list2 >... list4) # 优先比较元素大小print(list3 > list4) 以上是对Python列表元素的判定与比较的简单文字讲解,详细的讲解视频课程在python自学网上,这是视频地址(http:/

    7.6K20

    一日一技:如何用Python遍历多个列表元素的所有组合

    大家小时候可能玩过“谁”-“什么时候”-“在哪里”-“干什么”的游戏,这个游戏用Python来表述是这样的: import randomwho = ['王小一', '张小二', '李小三', '朱小四...现在,我想知道这些句子一共有哪些组合,应该怎么办呢?...最常见的写法是嵌套4个for循环: who = ['王小一', '张小二', '李小三', '朱小四']when = ['早上8点', '下午3点', '凌晨2点']where = ['在厕所','在卧室...在Python中,对于这种情况,有现成的处理方法,那就是 itertools.product计算可迭代对象的笛卡尔积。...itertools.product可以接收非常无数个可迭代的对象,然后把他们想for循环嵌套一样拼接起来。

    17.1K40

    再谈谈列表元素的删除

    实现,觉的实现的更好,所以想到可以就这个问题再随便写写,算做笔记吧~   基本思路大概是这样的:由于列表元素都是顺序存放的,导致的一个常见问题就是插入或者删除元素的代价较高,列表在插入元素或者删除元素之后需要移动相关列表数据以保证数据存放的顺序性...对于不要求元素间顺序的列表来说,这一点是挺容易实现的,一个Swap操作即可,但是在多数情况下,我们还是希望保持列表元素间的相对顺序的,这时如果要实现移动元素至尾部的操作,那么就需要将元素后的所有列表数据统一前置...,那么就可能会触发多次列表元素的移动,但是如果我们首先将需要删除的多个元素统一移动至列表尾部,然后再执行清理操作,那么就可以大幅度降低列表元素的移动次数!   ...那就再看下这张示意图: image.png   简单分析一下时间复杂度:   假设列表中每个元素被删除的概率为P(1/n n为列表大小),那么对于之前提到过的直接删除法,其平均情况下的时间复杂度为...(PS:如果取P为1/n,即只删除一个元素的情况,那么这两种方法的时间复杂度便都是O(n),没有区别,这与我们之前的分析一致~)

    2.9K10

    我有两个列表,现在需要找出两个列表中的不同元素,怎么做?

    一、前言 前几天在帮助粉丝解决问题的时候,遇到一个简单的小需求,这里拿出来跟大家一起分享,后面再次遇到的时候,可以从这里得到灵感。...二、需求澄清 问题如下所示: 三、实现过程 这里【听风】一开始给了一个集合求差集的方法,差强人意。 不过并没有太满足要求,毕竟客户的需求是分别需要两个列表中不重复的元素。...后来【听风】又给了一个方法,如下所示: 这次是完全贴合要求了,代码运行之后,可以得到预期的效果: 这里再补充一个小知识点,提问如下图所示: 后来【听风】给了一个方法,如下图所示: 原来列表转df...是这样玩的,接下来你就可以把数据导出为Excel等其他格式了,不再赘述。...这篇文章主要盘点一个Python实用的案例,这个案例可以适用于实际工作中文件名去重等工作,感谢【听风】大佬给予耐心指导。

    5K10

    网页元素居中的n种方法

    场景分析 一个元素,它有可能有背景,那我要它的背景居中对齐 一个元素,它还有可能有个父级元素,那我要它居中于其父级元素 一个元素,它也有可能还带有一些子内容,我要让它的子内容居中 场景建模 根据场景分析提出的一些假设...“父级元素相对定位,子级元素绝对定位”这句话浓缩后的叫法。...,子元素设置top: 50%; left:50%;,这里的百分比参考值是相对于父元素的宽高,参考的点是父元素的左上角和子元素的左上角,所以我们需要矫正一下,减去子元素宽高的一半。...这个平移的百分比是相对于其本身的宽高的,所以是向反方向50%。...display: table,子元素设置display:table-cell,在只有一个子元素的情况下它会尽可能撑满父元素,多个子元素的情况下水平均分。

    1.2K40

    【Kotlin 协程】Flow 流组合 ( Flow#zip 组合多个流 | 新组合流的元素收集间隔与被组合流元素发射间隔的联系 )

    文章目录 一、Flow 流组合 1、Flow#zip 组合多个流 2、新组合流的元素收集间隔与被组合流元素发射间隔的联系 一、Flow 流组合 ---- 1、Flow#zip 组合多个流 调用 Flow...#zip 函数 , 可以将两个 Flow 流合并为一个流 ; Flow#zip 函数原型 : /** * 将来自当前流(' this ')的值压缩到[其他]流,使用提供的[transform]函数应用到每对值...= Two 2022-12-26 16:39:29.433 30002-30002/kim.hsl.coroutine I/System.out: num = 3, str = Three 2、新组合流的元素收集间隔与被组合流元素发射间隔的联系...假如两个 Flow 流的 元素发射 不同步 , 则 先发射的元素 , 需要等待对应顺序的 后发射的元素到来 ; 在下面的代码中 , numFlow 的发射元素间隔为 100ms , strFlow 发射元素间隔为...1000ms , 则 numFlow 元素收集到之后 , 需要等待 strFlow 元素收集 , 也就是 二者合并后的间隔以 慢的为准 , 合并后的流 发射间隔为 1000ms ; 代码示例 : package

    1.7K20

    Python随机打乱列表中的元素

    随机打乱列表中的元素 自己写函数用于随机打乱列表中的元素 方案一:交换法 随机选取原列表索引,将索引位置上的值进行交换 import random def random_list1(li):...li[index1] return li li = [1, 2, 3, 4, 5] test = random_list1(li) print(test) 方案二:随机选取并重新添加到一个列表...首先生成原列表的拷贝a_copy,新建一个空列表result,然后随机选取拷贝列表中的值存入空列表result,然后删除 import random def random_list2(a):...result) 方案三:系统自带函数shuffle import random test = [1, 2, 3, 4, 5] random.shuffle(test) print(test) Python的random.shuffle...()函数可以用来乱序序列,它是在序列的本身打乱,而不是新生成一个序列。

    10K20
    领券