python列表

python学习之路-----list列表相关操作

旧时模样 提交于 2020-03-03 08:11:06
1、python遍历list列表: for i in range(len(check_result)): print(‘遍历list的值>>>>>>>>>>>>>>>:’) print(i + 1, check_result[i]) 2、判断某一个属性是否存在某一个list中 id不在list中:if id not in list: id在list中:if id in list: 来源: CSDN 作者: Silence坏小孩 链接: https://blog.csdn.net/weixin_44520602/article/details/104607030

python之字符串,列表,集合,字典方法

空扰寡人 提交于 2020-03-03 05:46:03
字典内置函数&方法 函数: 1.len(dict1):打印字典的键的个数 方法:dict1.( ) 2.clear():清空字典 3.copy():复制字典 4.fromkeys():使用指定的序列作为键创建字典   list1,list2 =["d","e","f"],[1,2,3,4,5]   list3 = ['Aapple','oppo']   print(dict.fromkeys(list1,list2))   print(dict.fromkeys(list3)) 5.get():根据键获取值 6.keys()/values():将字典的所有键/值组成一个序列 7.items():将字典的键值转化成类似元组的形式方便遍历 8.pop():删除字典中指定的键从而删除键值对 返回值为被删除的键所对应的值    新键名 = dict.pop(旧键名) 间接修改字典的键 9.popitem():随机删除并返回字典中的一对键和值 10. setdefault():添加一个元素,如果键已存在不做任何操作 11. update():修改字典中的值,如不存在则新加一个键值对 用法1: dict1 = {"a":1,"b":2,"c":3} dict1.update({'a':3}) dict1.update(d=5)用法2: dict1.update(dict2) 修改字典1中的值

列表

白昼怎懂夜的黑 提交于 2020-03-03 05:03:12
一:列表索引和字符串类似,可以进行截取和组合 索引默认从0开始,如第一个字符为0,第二个为1,依次类推 二:访问列表中的值。 [ ]可以用来截取值 : 用来链接前后的截取范围 list1 = [ 'google' , 'Runoob' , 1997 , 2008 ] list2 = [ 1 , 2 , 3 , 4 , 5 , 6 ] print ( 'list1[0]' , list1 [ 0 ] ) print ( list2 [ 1 : 5 ] ) ➜ pythoncode python3 holly_02_29 . py list1 [ 0 ] google [ 2 , 3 , 4 , 5 ] 三:更新列表 list = [ 'google' , 'runoob' , 1997 , 2000 ] print ( '第三个元素为:' , list [ 2 ] ) list [ 2 ] = 2001 print ( '更新后的第三个元素为:' , list [ 2 ] ) ➜ pythoncode python3 holly_02_29 . py 第三个元素为 : 1997 更新后的第三个元素为 : 2001 四:删除列表元素 可以通过del来删除列表元素 list = [ 'google' , 'runoob' , 1997 , 2000 ] print ( '原始列表:' ,

Python 的列表的一些方法

廉价感情. 提交于 2020-03-03 01:40:28
list.append(obj) 在列表末尾添加新的对象 list.count(obj) 统计某个元素在列表中出现的次数 list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) list.index(obj) 从列表中找出某个值第一个匹配项的索引位置 list.insert(index, obj) 将对象插入列表 list.pop(obj=list[-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 list.remove(obj) 移除列表中某个值的第一个匹配项 list.reverse() 反向列表中元素 list.sort([func]) 对原列表进行排序 list.clear() 清空列表 list.copy() 复制列表 来源: https://www.cnblogs.com/khaha/p/7725859.html

5分钟记住列表的使用功能-Python基础前传(7)

六月ゝ 毕业季﹏ 提交于 2020-03-03 01:29:29
学习任何一门技术,最重要的是逻辑而不是内容,仅会内容,我们仅仅是技术的使用者,但如果我们懂得了技术背后的逻辑,我们就是技术的创造者,所以同样领域的工作,有人月入5千,有人月入5万,就是这个差别; 学技能,我们要有悟性,悟性不能教授,只能自己体会,世间万物普遍的规律和逻辑,能说的清的叫德,德就是功能和技巧,说不清的是道,道是真理和规律,道不能言说,不立文字,只能自己悟; 知识靠传授 方法靠示范 智慧靠启迪 文:朱元禄(jacky) 对于Python来说,基础内容要掌握的无外乎就是Python的六种数据类型,而对于数据类型来说,最重要的就是要掌握它们各自的使用功能(详细内容解释请参见:秒懂数据类型的真谛-Python基础前传(4)); 在实际工作中,基础数据类型里最常使用的就是列表(list),关于如何学习和领会列表的使用功能,jacky会按照自己的逻辑体会,把我的学习思路介绍给大家,我把列表的常用功能划分为增、删、改、查、补,五类,下面jacky将详细介绍下列表使用方法。 (一)增 增的常用的方法有三种: list.append list.insert list.extend() 1.1 append方法 :在列表的末尾追加 jacky = [1,2,3,4,5,6] jacky.append(100) print(jacky) >>>[1,2,3,4,5,6,100] 1.2

.sort与sorted的区别

£可爱£侵袭症+ 提交于 2020-03-02 18:37:22
list.sort 方法会就地排序列表,也就是说不会把原列表复制一份。这 也是这个方法的返回值是 None 的原因,提醒你本方法不会新建一个列 表。在这种情况下返回 None 其实是 Python 的一个惯例:如果一个函数 或者方法对对象进行的是就地改动,那它就应该返回 None,好让调用 者知道传入的参数发生了变动,而且并未产生新的对象。例 如,random.shuffle 函数也遵守了这个惯例。  用返回 None 来表示就地改动这个惯例有个弊端,那就是调用 者无法将其串联起来。而返回一个新对象的方法(比如说 str 里的 所有方法)则正好相反,它们可以串联起来调用,从而形成连贯接 口(fluent interface)。详情参见维基百科中有关连贯接口的讨论 (https://en.wikipedia.org/wiki/Fluent_interface)。 与 list.sort 相反的是内置函数 sorted,它会新建一个列表作为返回 值。这个方法可以接受任何形式的可迭代对象作为参数,甚至包括不可 变序列或生成器(见第 14 章)。而不管 sorted 接受的是怎样的参 数,它最后都会返回一个列表。 不管是 list.sort 方法还是 sorted 函数,都有两个可选的关键字参 数。 reverse   如果被设定为 True,被排序的序列里的元素会以降序输出(也就

Python在计算内存时应该注意的问题?

筅森魡賤 提交于 2020-03-02 18:30:11
我之前的 一篇文章 ,带大家揭晓了 Python 在给内置对象分配内存时的 5 个奇怪而有趣的小秘密。文中使用了 sys.getsizeof() 来计算内存,但是用这个方法计算时,可能会出现意料不到的问题。 文档中关于这个方法的介绍有两层意思: 该方法用于获取一个对象的字节大小(bytes) 它只计算直接占用的内存,而不计算对象内所引用对象的内存 也就是说,getsizeof() 并不是计算实际对象的字节大小,而是计算“占位对象”的大小。如果你想计算所有属性以及属性的属性的大小,getsizeof() 只会停留在第一层,这对于存在引用的对象,计算时就不准确。 例如列表 [1,2],getsizeof() 不会把列表内两个元素的实际大小算上,而只是计算了对它们的引用。 举一个形象的例子,我们把列表想象成一个箱子,把它存储的对象想象成一个个球,现在箱子里有两张纸条,写上了球 1 和球 2 的地址(球不在箱子里),getsizeof() 只是把整个箱子称重(含纸条),而没有根据纸条上地址,找到两个球一起称重。 1、计算的是什么? 我们先来看看列表对象的情况: 如图所示,单独计算 a 和 b 列表的结果是 36 和 48,然后把它们作为 c 列表的子元素时,该列表的计算结果却仅仅才 36。(PS:我用的是 32 位解释器) 如果不使用引用方式,而是直接把子列表写进去,例如 “d = [[1

关于Python中的列表理解及用法

廉价感情. 提交于 2020-03-02 08:59:13
在Python中,列表理解通常用于编写单行语句,这些语句通过可迭代对象进行迭代以创建新的列表或字典。本文首先介绍for循环如何在Python中工作,然后解释如何在Python中使用列表理解。 Python中的for循环 Python中的for循环语句按顺序遍历任何对象、列表、字符串等的成员。与其他编程语言相比,它的语法更加简洁,不需要手工定义迭代步骤,也不需要开始迭代。尽管有几种方法可以使它的行为与其他编程语言相同(本文将不详细讨论)。还可以使用continue、break、pass等语句控制for循环。下面是Python中for循环的一个简单示例: for x in range(10): print(x)for x in range(10): print(x) 上面的for循环将输出从0到9的十个数字。 列表理解 列表理解只不过是一种在单线语句中编写多行for循环的简单方法。下面的列表理解示例将通过在其中包含所有“ x”值来创建一个新列表,其名称为[0,1,2,3,4,5,6,7,8,9]。 numbers = [x for x in range(10)] print (numbers) numbers = [x for x in range(10)]print (numbers) 请注意,列表理解始终会创建一个新列表,并且不会修改表达式中使用的原始可迭代对象

Python(六)

☆樱花仙子☆ 提交于 2020-03-02 07:25:03
前言:好没意思啊!疫情什么时候才全好啊!!!!烦死了,让我一个热爱运动的精神小伙儿不能跑出去乱跑,只能在这乖乖(无聊)的学Python???悲催啊!!好了不扯皮了,继续学吧。。。这次的内容是: 1.元组(与列表很像,但又不是列表。奇奇怪怪) 2.字符串 3.序列 元组 创建和访问一个元组 tuple 连老规矩我都懒得说了。往下瞅 >> > tuple = ( 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ) >> > tuple ( 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ) >> > type ( tuple ) < class 'tuple' > 元组呢,跟列表不同的地方就在列表是用中括号的,而元组则是用小括号的,当然这不是重点。 重点是:列表可以随意更改、删除、添加列表里的元素;而元组就不能更改元组里的元素。 我一改,他就报错了。不让改。 对比这三个,为什么 temp = (1) 带了括号不是元组,而temp1不带小括号却是元组? 因为: 是不是元组取决于那个 逗号 而不是括号 ,再看第三个例子就明白了。 为什么说元组跟列表很像呢???因为元组也可以进行与列表相似的操作 这些操作与列表很像吧!!! 更新和删除一个元组 不是说了,不能更改元组里的东西吗??为什么还能更新????这里可以用效仿更新字符串的方法,先切片

分析pop()和pop(i)的性能差异-python

六月ゝ 毕业季﹏ 提交于 2020-03-02 04:18:46
《Python数据结构与算法分析》(第二版) pop()时间复杂度O(1) pop(i)时间复杂度O(n) 1. 针对一个已知长度的列表,分别从列表头和列表尾弹出一个元素 import timeit x = list ( range ( 2000000 ) ) y = list ( range ( 2000000 ) ) # 在测试中使用列表对象x,可以只对pop语句计时,从而准确得到这个操作的耗时 # 因为重复计时了1000次,所以列表每次循环都少一个元素,但列表的初始长度是200万,因此对整体长度来说,只减少了0.05% popzero = timeit . Timer ( "x.pop(0)" , "from __main__ import x" ) print ( "pop(0) " , popzero . timeit ( number = 1000 ) ) popend = timeit . Timer ( "y.pop()" , "from __main__ import y" ) print ( "pop() " , popend . timeit ( number = 1000 ) ) 运行结果: 测试结果虽然说明pop(0)确实比pop()慢,但并没有证明pop(0)的时间复杂度是O(n),也没有证明pop()的时间复杂的是O(1)