python 基础教程之Map使用方法,python基础教程map

来源:http://www.sh-fengwen.com 作者:鲜果干果 人气:192 发布时间:2019-09-04
摘要:简介 有兴趣可以看看: 解释性语言+动态类型语言+强类型语言 python 基础教程之Map使用方法,python基础教程map Python Map Map会将一个函数映射到一个输入列表的所有元素上。Map的规范为:

简介
有兴趣可以看看: 解释性语言+动态类型语言+强类型语言

python 基础教程之Map使用方法,python基础教程map

Python Map

Map会将一个函数映射到一个输入列表的所有元素上。Map的规范为:map(function_to_apply, list_of_inputs)
大多数时候,我们需要将列表中的所有元素一个个传递给一个函数,并收集输出。例如:

items = [1, 2, 3, 4, 5] 
squared = [] 
for i in items: 
  squared.append(i**2) 

使用Map的话,可以让我们以一种更加简便的方法解决这种问题。

items = [1, 2, 3, 4, 5] 
squared = list(map(lambda x: x**2, items)) 

大多数时候,我们会使用python中的匿名函数lambda来配合map。不仅对于一列表的输入,同时我们也可以用于一列表的函数。

def multiply(x): 
  return (x*x) 
def add(x): 
  return (x+x) 
funcs = [multiply, add] 
for i in range(5): 
  value = list(map(lambda x: x(i), funcs)) 
  print(value) 

以上程序输出为:

# Output: 
# [0, 0] 
# [1, 2] 
# [4, 4] 
# [9, 6] 
# [16, 8] 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

基础教程之Map使用方法,python基础教程map Python Map Map会将一个函数映射到一个输入列表的所有元素上。Map的规范为:map(function_to_appl...

交互模式:(主要拿来试验,可以试试 ipython)

复制代码 代码如下:

$python
>>> print 'hello world'

脚本

复制代码 代码如下:

#!/usr/bin/env python
print 'hello world'

环境:

建议python2.7 + easy_install + pip + virtualenv + ipython

缩进
Python 函数没有明显的 begin 和 end,没有标明函数的开始和结束的花括号。唯一的分隔符是一个冒号 (:),接着代码本身是缩进的。

例子:

复制代码 代码如下:

#函数
def func(value):
    print value  #缩进

    if value == 1:
        value += 1
    elif value == 2:
        pass
    else:
        value += 10

标识符
变量是标识符的例子。 标识符 是用来标识 某样东西 的名字。在命名标识符的时候,你要遵循这些规则:

1.python中的标识符是区分大小写的。

2.标示符以字母或下划线开头,可包括字母,下划线和数字,大小写敏感

3.以下划线开头的标识符是有特殊意义的。

以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用“from xxx import *”而导入;
以双下划线开头的(__foo)代表类的私有成员;
以双下划线开头和结尾的(foo)代表python里特殊方法专用的标识,如init()代表类的构造函数。

4.标识符不能是保留字

复制代码 代码如下:

and            elif        global   or    yield
assert         else        if       pass
break          except      import   print
class          exec        in       raise
continue       finally     is       return
def            for         lambda   try
del            from        not      while

变量

赋值语句

1、赋值语句建立对象引用值
2、变量名在首次赋值时会被建立
3、变量名在引用前必须先赋值,不能引用未声明赋值的变量

赋值方式

简单赋值
Variable(变量)=Value(值)

复制代码 代码如下:

s = ‘spam'

多变量赋值

python中原始的元组和列表赋值语句形成,最后已被通用化,以接受右侧可以是是任何类型的序列,只要长度相等即可。注意,长度一定相等
Variable1,variable2,...=Value1,Value2,...

复制代码 代码如下:

s,h = ‘a','b'  元组赋值,位置性  【常用】
[s,h] =[‘a','b'] 列表赋值,位置性
a,b,c,d = ‘spam' 序列赋值,通用性
a,*b = ‘spam' 拓展序列解包(python3)

多目标赋值

复制代码 代码如下:

a=b=variable

s = h = ‘spam' 多目标赋值

注意:多个变量内存中指向同一对象,对于可变类型需要,修改一个会对其他造成影响

自变赋值

复制代码 代码如下:

如+=,-=,*=等。

在自变赋值中,python仅计算一次,而普通写法需计算两次;

自变赋值会修改原始对象,而不是创建一个新对象。

复制代码 代码如下:

s +=42 增强赋值
x += y

优点:

复制代码 代码如下:

左侧只需计算一次,优化技术自动原处修改,更快
l +=[] 原处修改
l = l+[] 复制,生成新的对象

运算符
一个表达式可以分解为运算符和操作数

运算符 的功能是完成某件事,它们由如+这样的符号或者其他特定的关键字表示

运算符需要数据来进行运算,这样的数据被称为 操作数

运算符优先顺序列表(从最高到最低)

复制代码 代码如下:

运算符   描述
'expr'  字符串转换
{key:expr,...}  字典
[expr1,expr2...]    列表
(expr1,expr2,...)   元组
function(expr,...)  函数调用
x[index:index]  切片
x[index]    下标索引取值
x.attribute 属性引用
~x  按位取反
+x,-x 正,负
x**y    幂
x*y,x/y,x%y 乘,除,取模
x+y,x-y   加,减
x<<y,x>>y 移位
x&y 按位与
x^y 按位异或
x|y 按位或
x<y,x<=y,x==y,x!=y,x>=y,x>y   比较
x is y,x is not y 等同测试
x in y,x not in y 成员判断
not x   逻辑否
x and y 逻辑与
x or y  逻辑或
lambda arg,...:expr Lambda匿名函数

结合规律

运算符通常由左向右结合,即具有相同优先级的运算符按照从左向右的顺序计算

计算顺序

默认地,运算符优先级表决定了哪个运算符在别的运算符之前计算。然而,如果你想要改变它们的计算顺序,你得使用圆括号。好的做法:默认对复杂的运算加括号,而不是依赖于默认结合和计算顺序

真值
真值测试

1、任何非零数字或非空对象都为真
2、数字零,空对象以及特殊对象None都为假
3、比较和相等测试都会递归地运用到数据结构中
4、比较和相等测试会返回True或False

真值表

复制代码 代码如下:

对象/常量   值
""  假
"string"    真   
0   假
2>=1    真
-2<=-1  真
()空元组 假
[]空列表 假
{}空字典 假
None    假

本文由美高梅游戏平台网站发布于鲜果干果,转载请注明出处:python 基础教程之Map使用方法,python基础教程map

关键词:

最火资讯