###隐函数lanbda及map函数的应用实例
'''
lambda 参数1,参数2,参数3,...:表达式
'''
f = lambda x,y :x+y
print(f(1,2)) ###输出3
'''
map()接收一个函数f 和 一个Iterator(可迭代对象),并通过把函数f依次作用在Iterator的每一个元素上,并把结果做为新的Iterator返回
'''
a = [1,2,3]
b = map(lambda x:x*x ,a)
print(list(b)) ###输出[1,4,9] ##map 函数处理字典
c = {
'x':np.array([1,2,3]),
'y':[4,5,6]
}
##调用字典的key
d = map(lambda data:data*2,c)
print(list(d)) ##['xx', 'yy']
##调用字典的values
e = map(lambda data:data*2,c.values())
print(list(e)) ##[array([2, 4, 6]), [4, 5, 6, 4, 5, 6]] ##注意:列表*2重复一次,数组*2元素数字*2 def double(x):
return x*2
print(list(map(double,c))) ## ['xx', 'yy']
print(list(map(double,c.values()))) ##[array([2, 4, 6]), [4, 5, 6, 4, 5, 6]]

map函数和lambda函数

import tensorflow as tf
import numpy as np
##定义两个数组
x = np.arange(6)
y = np.arange(3,9)
##创建dataset数据集
dataset = tf.data.Dataset.from_tensor_slices({
'x':x,
'y':y
})
c = tf.data.Dataset.range(1,7)
def getone(dataset):
iterator = dataset.make_one_shot_iterator() #生成一个迭代器
one_element = iterator.get_next() #迭代器取值
return one_element
one_element1 = getone(dataset)
one_element2 = getone(c) #定义一个会话内调用的函数
def sess_get_one(one_element):
for i in range(6):
datav = sess.run(one_element)
print(datav)
#开启会话,调取数据
with tf.Session() as sess:
sess_get_one(one_element1)
sess_get_one(one_element2) '''
{'x': 0, 'y': 3}
{'x': 1, 'y': 4}
{'x': 2, 'y': 5}
{'x': 3, 'y': 6}
{'x': 4, 'y': 7}
{'x': 5, 'y': 8}
1
2
3
4
5
6
'''

字典类型的dataset数据集

import tensorflow as tf
import numpy as np
##定义两个数组
x = np.arange(6)
y = np.arange(3,9)
##创建dataset数据集
dataset = tf.data.Dataset.from_tensor_slices({
'x':x,
'y':y
})
dataset1 = dataset.map(lambda data:(data['x']*2,tf.cast(data['y'],tf.float32)))
c = tf.data.Dataset.range(1,7)
def getone(dataset):
iterator = dataset.make_one_shot_iterator() #生成一个迭代器
one_element = iterator.get_next() #迭代器取值
return one_element
one_element1 = getone(dataset)
one_element2 = getone(c)
one_element3 = getone(dataset1) #定义一个会话内调用的函数
def sess_get_one(one_element):
for i in range(6):
datav = sess.run(one_element)
print(datav)
#开启会话,调取数据
with tf.Session() as sess:
sess_get_one(one_element1)
sess_get_one(one_element2)
sess_get_one(one_element3)
'''
{'x': 0, 'y': 3}
{'x': 1, 'y': 4}
{'x': 2, 'y': 5}
{'x': 3, 'y': 6}
{'x': 4, 'y': 7}
{'x': 5, 'y': 8}
字典类型的dataset数据集,每取一个值都带着key 1
2
3
4
5
6
(0, 3.0)
(2, 4.0)
(4, 5.0)
(6, 6.0)
(8, 7.0)
(10, 8.0)
相当于数据变成了:{(0, 3.0),(2, 4.0),(4, 5.0),(6, 6.0),(8, 7.0),(10, 8.0)}
'''

最新文章

  1. Node.js之sails框架
  2. 嵌入式Linux驱动学习之路(二十三)NAND FLASH驱动程序
  3. Java 配色方案--Dark Flash Builder - by Wilson Silva
  4. saltapi中expr_form参数的使用
  5. 随堂笔记之正则与HTML5新元素
  6. C++ 初始化与赋值
  7. ios之UI中自定义cell
  8. SQL中and与or优先级比较
  9. log4net封装类 zz
  10. 4 weekend110的hdfs下载数据源码跟踪铺垫 + hdfs下载数据源码分析-getFileSystem(值得反复推敲和打断点源码)
  11. PHP Cookie学习
  12. 极简AWR报告收集指导
  13. Java Class类以及获取Class实例的三种方式
  14. 【LeetCode】【Python解读】Container with most water
  15. GitBash学习1
  16. 反射型 DDoS 攻击的原理和防范措施
  17. Linux入门(7)——Ubuntu16.04安装wps并解决系统缺失字体问题
  18. hive的常见判断与抽样函数
  19. 构建第一个SpringBoot工程
  20. 为帝国cms模板添加站内搜索小教程

热门文章

  1. python学习笔记(7)文件的访问与函数式编程
  2. Git:将本地项目连接到远程(github、gitee、gitlab)仓库流程
  3. Sql Server 2008安装时提示重启计算机失败解决办法
  4. 1144. The Missing Number (20)
  5. uboot URL 待填坑
  6. tomcat 部署指南
  7. RPC的解释以及RPC和Restful、RPC和RMI的区别
  8. DOSUtil
  9. python全栈开发,Day41(线程概念,线程的特点,进程和线程的关系,线程和python理论知识,线程的创建)
  10. 带有lazy标记的线段树