Python中列表生成器的实现问题
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 的生成逻辑。 或者有没有相关的教程。
Python中列表生成器的实现问题
http://www.pythonforbeginners.com/basics/list-comprehensions-in-python
楼主是要个介绍 list comprehension 的教程吗 ~
我无法理解你的问题
[1 if x0+x1<1 else 0 for x0,x1 in X]
x0+x1<1,如果是真转换成整型就是 1 否则是 0,然后列表推导式遍历所有。
谢谢。
在网上找了下,没找到。
可是这个 int () 是什么鬼。为什么会产生和[1 if x0+x1<1 else 0 for x0,x1 in X] 同样的效果。
也就是说,int () 就是把 x0 + x1 的结果值进行了一下转换。
这样啊。OK 懂了。有没有这类的教程可以学习学习啊。
int() 就是把数据类型转换为整型数字。
在很多语言里,True 的内部值就是 1,False 是 0。
>>> True == 1
True
>>> False == 0
True
int(Ture) = 1 , int(False) = 0
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
>>>
我是在 B 站上看 tensorflow 的视频,有一个北大的讲这个。然后里面就用了这个列表生成式。
当时谢了写没运行成功。而且在列表生成式中的 if and or 这个规律逻辑一直就不怎么懂。
然后就卡在这了。
另外,想请教各位 V 友们。怎么学好 tensorflow 和入门深度学习。
这两个得出来的结果不一样啊


