python列表

Python 列表解析

懵懂的女人 提交于 2020-02-27 00:30:22
1. 简单列表解析 假设我们需要创建一个列表为:[0,0,0,0,0,0, 0,0,0, 0](size=10) 显然这样写0很费劲。所以有一种叫做列表解析的东西可以快速生成: >>> [0 for i in range(10)] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] # 还可以按序生成 >>> [i for i in range(10)] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 2. 带条件列表解析 假设我们需要创建一个列表:[0,2,0, 4, 0, 6, 0, 8, 0, 10] (size=10, 奇数为0,偶数不变) >>> [i+1 if i%2 == 1 else 0 for i in range(10)] [0, 2, 0, 4, 0, 6, 0, 8, 0, 10] note: 当条件子句在for前时必须带上else,此时else表示不符合if条件时列表元素的取值;当条件子句在for后时不能带上else。不然会报错! >>> [i+1 if i%2 == 1 for i in range(10)] File "<input>", line 1 [i+1 if i%2 == 1 for i in range(10)] # if在前面时,必须有else ^ SyntaxError: invalid syntax >>>

文件操作

。_饼干妹妹 提交于 2020-02-26 16:30:13
1、文件名作为参数的时候是作为字符串处理的,所以必须带引号,而且要带扩展名 2、现在有一个不成熟的总结,Python中的量,如果不是变量不是数值一般都要加引号,作为字符串处理 3、with open()as 是一个代码块,代码块后面是要加冒号的,有冒号就会自动缩进。记忆是否带冒号的方法是:后续的代码与这句的关系,如果不是并列关系,一般都是要加冒号的。 4、read()和readlines()的区别,readlines()将读取的内容进一步转换成一个列表,每一行是列表的一个值 5、列表没有lower()属性,它是字符串的属性 来源: CSDN 作者: IloveMny 链接: https://blog.csdn.net/IloveMny/article/details/104513662

小白自学python笔记:Python编程:入门到实践(二)

旧街凉风 提交于 2020-02-26 11:40:14
第三章 列表简介 3.1 列表是什么 类似于c语言中的数组,且从0开始 eg. a=[‘apple’,‘banana’,‘orange’] print(a[0]) 访问列表最后一个元素索引为(-1) eg. print(a[-1]) 3.2 修改添加和删除元素 在列表末尾添加新元素append()不需要重新对列表赋值 eg. name.append(‘goushi’) 在列表中插入新元素insert(,)不需要重新对列表赋值 eg. name.insert(1,‘goushi’) 在列表第二个位置插入 在列表中删除元素 1 del 彻底删除了 eg. del name[0] 2 pop() 被删除的元素只是不在列表中 eg. name_pop=name.pop(0) 若为pop()则默认删除最后一个元素 3 remove() 删除为特定值的元素 eg. name.remove(‘lily’) ps. remove只删除第一个指定的值,如果要删除的值在列表中出现多次,需要用循环删除 3.3 组织列表 对列表进行永久排序sort()默认升序 eg. name.sort() name.sort(reverse=True) 降序排列 对列表进行临时排序sorted() eg. print(sorted(name)) 反转列表原顺序reverse() eg. name.reverse()

Python简明教程

微笑、不失礼 提交于 2020-02-26 10:42:37
Python简明教程 Python一小时快速入门 1.Python简介 pylogo.png Python是一种相当高级的解释性程序设计语言,完成同一个任务C语言可能需要几千行代码 Java要写100行,Python可能只需要20行。 用Python可以做什么?可以做日常任务,比如自动备份你的MP3;可以做网站,很多著名的网站包括YouTube就是Python写的;可以做网络游戏的后台,很多在线游戏的后台都是Python开发的。总之就是能干很多很多事啦。 Python当然也有不能干的事情,比如写操作系统,这个只能用C语言写;写手机应用,只能用Swift/Objective-C(针对iPhone)和Java(针对Android);写3D游戏,最好用C或C++。 但是,对于初学者和完成普通任务,Python语言是非常简单易用的。 python提供了完善的内置库,覆盖了网络、文件、GUI、数据库、文本等大量内容,用python开发,很多功能不必从零编写,直接使用现成的即可。 除了内置库外,Python还有大量第三方库,也就是别人开发的,可以直接使用的。当然如果你的代码封装的很好,也可以作为第三方库给别人使用。 python适合开发网络应用、日常小工具、科学计算等活动。 2.安装Python Python有两个版本,2.x和3.x互不兼容,按需求安装即可。 安装教程参考我的

拼合不规则的列表

帅比萌擦擦* 提交于 2020-02-26 09:15:23
是的,我知道以前已经讨论过这个主题( 在这里 , 这里 , 这里 , 这里 ),但是据我所知,除一个解决方案外,所有解决方案在这样的列表上均失败: L = [[[1, 2, 3], [4, 5]], 6] 所需的输出是 [1, 2, 3, 4, 5, 6] 甚至更好的迭代器。 这个问题 是我看到的唯一适用于任意嵌套的解决方案: def flatten(x): result = [] for el in x: if hasattr(el, "__iter__") and not isinstance(el, basestring): result.extend(flatten(el)) else: result.append(el) return result flatten(L) 这是最好的模型吗? 我有事吗 任何问题? #1楼 使用递归和鸭子类型生成器(针对Python 3更新): def flatten(L): for item in L: try: yield from flatten(item) except TypeError: yield item list(flatten([[[1, 2, 3], [4, 5]], 6])) >>>[1, 2, 3, 4, 5, 6] #2楼 尝试创建一个可以平化Python中不规则列表的函数很有趣,但是当然这就是Python的目的

03-python基础语法_2.数据类型

折月煮酒 提交于 2020-02-26 01:43:57
4-1-2 Python基础数据类型 - 7种 (一).Outline 1.整型(int) 1.1py2 & py3的区别 1.整数类型 2.除法 1.2强制转换 : 2种类型可转。 int(' str 中的 可渡 之人')【重要】 int( bool ) 1.3进制 4种进制介绍 进制转换 2.布尔类型(bool) 强制转换 : 1.其他6种数据类型 均可转成bool 。bool(int/str/list/tuple/dict/set) 2. 强制转换 中bool为 False 的情况: 7种 , 0,'',[],(),{},set(),None 。 3.字符串(str) -不可变。有序。 3.0字符串定义 (一).公共功能 -即,其他数据类型也可能会有的功能。 3.1加 - str + str 3.2乘数字 -str * int 3.3索引/下标 3.4切片 坑 : list -若取不到值,则打印 空列表 。 str -若取不到值,则 什么都不打印 (计算机内部自动将str两边的引号去掉了)。 3.5步长 3.6for循环 for循环 -遍历str中的各元素 for循环+ range :遍历str中各元素的索引 3.7len 3.8in 判断某字符是否在str中 (二).str的方法 写在前面 :因为str是 不可变 数据类型,故对其进行操作,并不会对原来的值产生影响。而是

Python之functools.reduce使用

烈酒焚心 提交于 2020-02-26 01:15:12
from functools import reduce 1.整数的累积:列表里面整数累加 a=[1,3,5] b=reduce(lambda x,y:x+y,a) print('1.列表里面整数累加==:',b) 1.列表里面整数累加==: 9 1 2 3 4 2.列表的累加:列表里面的列表相加 a=[[1,3,5],[6]] b=reduce(lambda x,y:x+y,a) print('2.列表里面的列表相加—:',b) 2.列表里面的列表相加—: [1, 3, 5, 6] a=[[["abc","123"],["def","456"],["ghi","789"]]] b=reduce(lambda x,y:x+y , a ) print('列表里面的列表相加—:',b) 列表里面的列表相加—: [['abc', '123'], ['def', '456'], ['ghi', '789']] 1 2 3 4 5 6 7 8 9 3.元组的累加:列表里面的元组相加 a=[("abc","123"),("def","456"),("ghi","789")] b=reduce(lambda x,y:x+y , a ) print('3.列表里面的元组相加!!',b) 3.列表里面的元组相加!! ('abc', '123', 'def', '456', 'ghi', '789')

Python 列表常见基本方法

爷,独闯天下 提交于 2020-02-25 21:22:59
增: list.append() 删: list.clear(); list.remove(); list.pop(x); del(list[index]) 改: list.insert(1,x); list.append() 查: list.index(value,[start [,stop]]); 用in判断 x in list 合并: list.extend(list2) PS: 合并也可以用加号(+)来进行两个列表的合并,但是要注意,采用extend()方法,原list地址不会改变,而使用list=list+list2时,list的地址会改变;但是还有一个情况,就是用增量赋值的加法,list的地址还是不会改变,即list+=list2。此现象与数字赋值运算中的现象不同,数字赋值运算中,增量赋值会改变最左边变量的地址。 排序(依据ASCII码): list.sort(key=None, reserve=False) key为可选参数 用于指定在比较前,调用某种函数对列表元素进行处理,如key=str.lower( lower 为将大写字母转为小写字母函数);reserve为可选参数,默认为增序排序, 若reserve=False则为减序排序。 来源: CSDN 作者: Heiraten30 链接: https://blog.csdn.net/Heiraten/article

python难学?每30s就能学会一个小技巧,get到了嘛?

你离开我真会死。 提交于 2020-02-25 16:22:40
很多学习Python的朋友在项目实战中会遇到不少功能实现上的问题,有些问题并不是很难的问题,或者已经有了很好的方法来解决。当然,孰能生巧,当我们代码熟练了,自然就能总结一些好用的技巧,不过对于那些还在刚熟悉Python的同学可能并不会那么轻松。 1.内容目录 下面是30秒学Python的整个目录,分为几大板块:List、Math、Object、String、Utility,以下是整理的思维脑图。 我挑选了10个实用并很有意思的方法分享给大家,其余的感兴趣可以自行学习。 1. List: all_equal 功能实现: 检验一个列表中的所有元素是否都一样。 解读: 使用 [1:] 和 [:-1] 来比较给定列表的所有元素。 举例: 2. List: all_unique 功能实现: 如果列表所有值都是唯一的,返回 True ,否则 False 解读: 在给定列表上使用集合 set() 去重,比较它和原列表的长度。 举例: 3. List:bifurcate 功能实现: 将列表值分组。如果在 filter 的元素是 True ,那么对应的元素属于第一个组;否则属于第二个组。 解读:使用列表推导式和 enumerate() 基于 filter 元素到各组。 举例: bifurcate([ ' beep ' , ' boop ' , ' foo ' , ' bar ' ], [ True

一、变量和数据类型

徘徊边缘 提交于 2020-02-25 15:53:55
目录 1. 变量 1.1 定义 1.2 分类 1.3 变量命名 2. 数据类型 2.1 数字 2.2 布尔类型 2.3 字符串 2.4 列表 2.5 元组 2.6 集合 2.7 字典 1. 变量 1.1 定义 变量是用来存储数据的量,变量名由字母、数字、下划线组成的,且不能以数字开头。此外,在编程的过程中,所有变量的命名都要做到见名知意。 1.2 分类 全局变量 作用范围在全局的变量,例如:一个类中定义的类变量,类中所有的方法都可以使用该变量。 局部变量 作用范围在局部的变量,例如:一个类中的方法定义的方法变量,该变量只能在该方法中使用,而不能给类中的其他方法使用。 1.3 变量命名 下划线命名法 单词之间用下划线连接的命名方式,例如:auto_test。在Python中,一般默认函数名的命名方式采用下划线命名法。 驼峰命名法 小驼峰命名法 除首字母小写外之后的每个单词的首字母大写的命名方式,例如:autoTest。 大驼峰命名法 每个单词的首字母大写的命名方式,例如:AutoTest。一般默认类名的命名方式采用大驼峰命名法。 注意 在变量命名时要避开使用关键字来作为变量名。 2. 数据类型 2.1 数字 整数 int表示整数类型。 浮点数 float表示浮点数类型。 注意 int和float类型都是不可变的。 2.2 布尔类型 格式 bool,布尔类型的值只有两个