
Y1 = [[int(x0 + x1 <1) for (x0,x1) in X ]]
print("Y1",Y1)
Y2 = []
for x0,x1 in X:
if x0 + x1 <1: Y2.append(1) else: Y2.append(0) print('Y2',Y2)
我用简单方法写出来了。但是还是想理解下 Y1 的生成逻辑。 或者有没有相关的教程。
1 cosven 2018-07-06 14:38:49 +08:00 http://www.pythonforbeginners.com/basics/list-comprehensions-in-python 楼主是要个介绍 list comprehension 的教程吗 ~ |
2 hjq98765 2018-07-06 15:00:53 +08:00 [1 if x0+x1<1 else 0 for x0,x1 in X] |
3 BingoXuan 2018-07-06 15:07:42 +08:00 via Android x0+x1<1,如果是真转换成整型就是 1 否则是 0,然后列表推导式遍历所有。 |
4 LeIYc OP |
5 LeIYc OP @BingoXuan 也就是说,int () 就是把 x0 + x1 的结果值进行了一下转换。 这样啊。OK 懂了。有没有这类的教程可以学习学习啊。 |
6 Sylv 2018-07-06 15:17:07 +08:00 via iPhone |
8 BingoXuan 2018-07-06 15:34:43 +08:00 via Android @LeIYc 廖雪峰的教程我觉得已经很全面了,但我不建议过多使用 lambda 或者推导式,会让代码看起来很迷惑。你这个算是比较巧妙处理这个问题。再复杂一点就开始恶心了。最好就拆开多个推导式处理 |
9 xpresslink 2018-07-06 15:56:19 +08:00 Python 3.6.2 (v3.6.2:5fd33b5, Jul 8 2017, 04:57:36) [MSC v.1900 64 bit (AMD64)] on win32 Type "copyright", "credits" or "license()" for more information. >>> issubclass(bool, int) True >>> isinstance(True, int) True >>> True.numerator 1 >>> False.numerator 0 >>> |
10 LeIYc OP @BingoXuan 我是在 B 站上看 tensorflow 的视频,有一个北大的讲这个。然后里面就用了这个列表生成式。 当时谢了写没运行成功。而且在列表生成式中的 if and or 这个规律逻辑一直就不怎么懂。 然后就卡在这了。 另外,想请教各位 V 友们。怎么学好 tensorflow 和入门深度学习。 |
11 gnozix 2018-07-06 17:51:21 +08:00 这两个得出来的结果不一样啊 |