在Python中使用lambda高效操作列表的教程 这篇文章主要介绍了在Python中使用lambda高效操作列表的教程,结合了包括map.filter.reduce.sorted等函数,需要的朋友可以参考下 介绍 lambda Python用于支持将函数赋值给变量的一个操作符 默认是返回的,所以不用再加return关键字,不然会报错     result = lambda x: x * x result(2) # return 4 map()/filter()/reduce() 需要两个参数,…
python中的递归 关注公众号"轻松学编程"了解更多. 文章更改后地址:传送门 间接或直接调用自身的函数被称为递归函数. 间接: def func(): otherfunc() def otherfunc(): func() 直接: def func(): func() 递归函数必须要有收敛条件和递归公式. 1.递归求和 ''' 使用递归求和 ''' def my_sum(n): ''' 递归求和 1+2+3+...+n :param n: int型 :return: int型 ''…
1 python 中简单的输出语句 #coding:utf-8#输出的是整数,得到的也是整数,用raw_inputusername=raw_input('请输入用户名:')#输出的是整数或者字符串,得到的只是字符串#在终端输入时:python空格.py文件拖入pwd=raw_input('请输入密码:')#两个条件同时成立才执行if username=='lily'and pwd=='abc':print 'login'else:print 'notlogin' 2 利用python定义简单的函…
一,List:列表 python内置的一种数据类型是列表:list.list是一种有序的数据集合,可以随意的添加和删除其中的数据.比如列出班里所有的同学的名字,列出所有工厂员工的工号等都是可以用到列表的,以下是python列表的演示代码: >>> list1 = ['zhangxueyou','liudehua','wanglijuan','liming','shabie'] >>> list1 ['zhangxueyou', 'liudehua', 'wangliju…
字符串的截取 Python中的字符串用单引号 ' 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符. 字符串的截取的语法格式如下: 变量[头下标:尾下标] 索引值以 0 为开始值,-1 为从末尾的开始位置. 加号 + 是字符串的连接符, 星号 * 表示复制当前字符串,紧跟的数字为复制的次数.实例如下: #!/usr/bin/python3 str = 'Runoob' print (str) # 输出字符串 print (str[0:-1]) # 输出第一个到倒数第二个的所有字符 prin…
以上面一个公式为例: import numpy as np def getPi(n): if n == 0: return np.power(-1,n)*(1.0/(2*n+1)) else: return np.power(-1,n)*(1.0/(2*n+1))+getPi(n-1) print 4*getPi(100) 可以通过上面一个递归实现. 参考 特点: ①递归就是在过程或者函数里调用自身. ②在使用递归策略时,必须有一个明确的递归条件,称为递归出口. ③递归算法解题通常显得很简洁,但…
一.什么是列表 1.列表是Python中的基本数据类型之一用[]来表示,每一项元素由逗号隔开,列表什么都能装,(能装对象的对象) 2.可以用来存放大量数据 3.是一个可以改变的数据类型 二.列表的索引与切片 1.列表和字符串一样也有索引和切片,只不过切出来的都是列表 索引下标从0开始 [起始位置:结束位置:步长](步长为负代表从右到左) 三.列表的增删改 1.增 方法有以下三种 append()  加到最后 并且括号中参数只能为一个对象 insert(要放在的位置,要添加的对象) 把XXX插入到…
python的内容非常丰富,给我们带来的便利很多,很多事情的表达方法有很大的多样性,比如我经常需要遍历一个列表,取它的下标和值,这个时候就有很多方法需要取舍一下才行. for循环遍历 l = [1,2,3,4,5,6,7] for i in range(len(l)): print i, l[i] 非常简单,没有学过python的人也可以大致看懂 while循环遍历 l = [1,2,3,4,5,6,7,8] index = 0 while index < len(l): print index…
1.在python 2.x版本中,使用“,”(不含双引号)可使输出不换行,例如 2.python 3.x版本输出不换行格式如下 print(x, end="")    end="" 可使输出不换行. (我的是2.7版本,下面的3.x版本的图我是从网上找的)…
当我们在python中需要打印出特定格式的内容时可以用到这个方法,方法介绍如下: 例如我们现在要收集用户的一些个人信息,这时候我们的代码如下: name=input("name: ")age=int(input("age: "))job=input("job: ")salary=input('salary : ') 这种情况下如果我们按照通常的打印方法  print(name,age,job,salary) 最后输出结果就会是这样:jack 18…
一个程序要进行交互,就需要进行输入,进行输入→处理→输出的过程.所以就需要用到输入和输出功能.同样的,在Python中,怎么实现输入和输出? Python3中的输入方式: Python提供了 input() 内置函数从标准输入读入一行文本,默认的标准输入是键盘. 例如: n = input() print(n) >>>输入Python3 >>>Python3 其中输入的数据以字符串类型进行储存,如果输入数字的话,后续需要转换类型才能进行操作. n = input()pr…
问题出现: 在我测试python中的文本文件的读取与写入时,用到了字典对象来存储读出的数据. std_data = dict() with open(sys.argv[1], encoding='UTF-8') as fp: alldata = fp.readlines() for item in alldata: no, name = item.rstrip('\n').split('.') std_data[no] = name print(std_data) 在命令行中运行时始终存在一个开…
在做某些算法时,使用递归会出现类似下面的报错: RuntimeError: maximum recursion depth exceeded python默认的递归深度是很有限的,大概是900多的样子,当递归深度超过这个值的时候,就会引发这样的一个异常. 解决的方式是手工设置递归调用深度,方式为: import sys sys.setrecursionlimit(1000000) #例如这里设置为一百万…
1.先用 for 循环取. for item in l: if isinstance(item ,list): for newitem in item: print(newitem) else: print(item 输出: 1 2 3 4 5 6 #利用 for 循环取值,有几层嵌套就要写几层 for 循环,否则不识别. l=[1,2,[3,4],[5,6,[7,8]]] for item in l: if isinstance(item ,list): for newitem in item…
一.列表 1.什么是列表. 列表是python的基本数据类型之一,用[]来表示,可以存放各种数据类型(什么都能装,能装对象的对象) 列表相比于字符串,不仅可以存放不同类型的数据,而且可以存放大量的数据. 2.列表的索引和切片(列表和字符串一样,也拥有索引和切片) 列表切片切出来的内容依旧是列表. 2.1索引: lst=['马化腾','马云','王健林','雷军','刘翔','萧敬腾'] print(lst[0]) lst=['马化腾','马云','王健林','雷军','刘翔','萧敬腾'] ls…
注释:3个单引号或3个双引号 3个引号(单引或双引)还有另外一个作用:打印多行. msg = """hello 1 hello 2 hello 3""" print(msg) msg = 'hello,its me' #单引号和双引号效果一样 print(msg) pycharm使用 集成开发环境(IDE,integrated development environment) VIM #经典的linux下的文本编辑器 Emacs #文本编辑器,比…
在某些情况下,我们需要对列表进行某些操作,例如对列表中的每一个元素都乘以2,这样一般来说就是遍历每个元素在乘以2.那么写下来就得两行了.而且这会修改原来的列表,如果要求不能修改原来的列表,又得多一行了. mylist = [1,3,5,7] copylist = [] for i in mylist: copylist.append(i * 2) print(copylist) 一眼看上去就是臃肿二字. Python提供了更加简便的写法: mylist = [1,3,5,7] copylist…
-------------------------------更新中-------------------------------------- 元组(tuple): 元组常用小括号表示,即:(),元素加逗号,是元组的标识. #定义一个元组 #tuple = 'a', tuple = ('a','b','c','d','e','f','g') #常规来说,定义了一个元组之后就无法再添加或修改元组的元素,但对元组切片可以添加会修改元组的元素. print tuple[1:5] tuple = tu…
1.在python 3.x版本中,使用print(,end="") 可使输出不换行,  例如:…
推导式comprehensions(又称解析式),是Python的一种独有特性.推导式是可以从一个数据序列构建另一个新的数据序列的结构体. 共有三种推导,在Python2和3中都有支持: 列表(list)推导式 字典(dict)推导式 集合(set)推导式 一.列表推导式 1.使用[]生成list 基本格式 variable = [out_exp_res for out_exp in input_list if out_exp == 2] out_exp_res: 列表生成元素表达式,可以是有返…
# -*- coding: utf-8 -*- # 定义一个字典 dic = {'剧情': 11, '犯罪': 10, '动作': 8, '爱情': 3, '喜剧': 2, '冒险': 2, '悬疑': 2, '惊悚': 2, '奇幻': 1} #通过list将字典中的keys和values转化为列表 keys = list(dic.keys()) values = list(dic.values()) # 结果输出 print("keys列表为:",end='') print(key…
1.for表达式语法格式及用法 for表达式利用可迭代对象创建新的列表,for表达式也称为列表推导式,具体语法格式如下: [表达式 for 循环计数器 in 可迭代对象] 例: a = [ i + i for i in range(0,5) ] print (a) # 返回的是一个列表,打印 [0, 2, 4, 6, 8] 上面的例子中,range相当于包含5个元素(0,1,2,3,4),对表达式 i + i 执行5次,并且把5次执行的值收集起来作为新的列表元素. 2.for表达式添加if条件…
函数定义 在函数定义中使用*args和**kwargs传递可变长参数. *args用作传递非命名键值可变长参数列表(位置参数); **kwargs用作传递键值可变长参数列表 函数调用 在调用函数时,使用*args和**kwargs def get_record(cls, kwargs): return cls.objects.filter(**kwargs)  …
为了将print函数输出的内容对齐,笔者在http://www.jb51.net/article/55768.htm中找到了左右对齐的方法.整理如下: 一.数值类型(int.float) #  %d.%f是占位符>>> a = 3.1415926>>> print("%d"%a)    #%d只能输出整数,int类 3>>> print("%f"%a) #%f输出浮点数 3.141593>>>…
s = '#afsfdf222#' print(s.capitalize()) # 首字母大写其他字母小写 print(s.center(20, '%')) # 居中并在空白处添加指定字符 print(s.count('f')) # 统计f元素在字符串s中出现的次数 print(s.endswith('f', 1, 8)) # 判断以xxx结束 print(s.find('f', 2, 5)) # 找到第一个,并返回其索引,找不到返回-1 print(s.index('f', 2, 5)) #…
for x in range(20): print 'fizz'[x%3*4::]+'buzz'[x%5*4::]or x 这个是由 Jeff Atwood推广的一个编程练习叫FizzBuzz,问题如下: 打印数字1-100,3的倍数打印'Fizz';5的倍数打印'Buzz';既是3又是5的倍数打印'FizzBuZZ'.大牛们给出以上解决方法也不知出处.一运维朋友初学python问我解决方法的意思,以下是说明: 首先要知道python字符串是一种特殊的列表: >>> a = 'fizz'…
你的微信好友当中有 5 个推销的,他们存在一个列表 # black_list=['卖茶叶', '卖面膜', '卖保险', '卖花生', '卖手机'] # 当中, 请把这 5 个人分别从 black_list 当中删除,最后 black_list 为空 black_list=['卖茶叶', '卖面膜', '卖保险', '卖花生', '卖手机'] # 方法一:使用whlie循环,每次删除列表中的第一个,当列表删除到最后为空的时候,程序终止 # while True: # black_list.pop…
字符串函数: 1,replace函数,替换函数.s = s.replace(old,new),老得元素被新的元素替换.注意不能直接写s.replace(old,new).要写s=s.replace(old,new) 2,函数:split() Python中有split()和os.path.split()两个函数,具体作用如下:split():拆分字符串.通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list)os.path.split():按照路径将文件名和路径分割开…
反转链表一般有两种实现方式,一种是循环,另外一种是递归,前几天做了一个作业,用到这东西了. 这里就做个记录,方便以后温习. 递归的方法: class Node: def __init__(self,init_data): self.data = init_data self.next = None def get_data(self): return self.data def get_next(self): return self.next def set_data(self,new_data…