设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 12164|回复: 4
打印 上一主题 下一主题

c = ()[0]是个什么意思

[复制链接]

12

主题

0

好友

126

积分

注册会员

Rank: 2

跳转到指定楼层
楼主
发表于 2017-12-20 15:32:43 |只看该作者 |倒序浏览
第51课:c = ()[0]是个什么意思,有点晕了。。。
WX20171220-153051@2x.png




回复

使用道具 举报

6

主题

2

好友

654

积分

实习版主

Rank: 7Rank: 7Rank: 7

沙发
发表于 2017-12-20 16:34:17 |只看该作者
a="",那么[a]就是把""放到list中了,而且这个list就""这一个元素,[a][0]就是这个元素""
b="hell",那么[b]=["hell"],[b][0]="hell"

True and [a] or [b] 的结果是[a],那么(True and [a] or [b])[0]也就是[a][0],也就是a最开始这个元素""了
回复

使用道具 举报

12

主题

0

好友

126

积分

注册会员

Rank: 2

板凳
发表于 2017-12-20 17:24:05 |只看该作者
TED 发表于 2017-12-20 16:34
a="",那么[a]就是把""放到list中了,而且这个list就""这一个元素,[a][0]就是这个元素""
b="hell",那么=["h ...

谢谢,我试着看了下:

a = ''
b = 'hell'
c = (True and [a] or )
print c

发现得到c其实就是个list,[a][0]等于一般的list第一个元素的值的意思
c = ['','aa','bb']
就是c[0]
对吧
回复

使用道具 举报

6

主题

2

好友

654

积分

实习版主

Rank: 7Rank: 7Rank: 7

地板
发表于 2017-12-20 17:56:42 |只看该作者
本帖最后由 TED 于 2017-12-20 18:01 编辑
变色幽灵 发表于 2017-12-20 17:24
谢谢,我试着看了下:

a = ''

c并不是list, 首先明确主题是c = True and a or b 如果a不是空集的话,那么c=a
现在的问题是,如果a="",按照我们的主题c也应该要c=a="",但是因为a是空集,它的bool是False,按True and a or b 返回的就是b了,导致 c=b了。
为了解决这个问题,就需要在a是空集的时候,对应的bool是True--------这个实现方法就是把""放到list中,[""]的bool就是True了,因为它有""这个元素在index0的位置。照着这个思路,我们把a和b先都放到list中:[a]和 【b】True and [a] or【b】的结果 就是[a]了,但是我们要的结果是c=a, 那么只要在[a]中提取出来就好了,也就是[a][0],所以c=[a][0]
再把这个把元素放到list中做and-or运算,再从list提取元素返回的思路放回最开始的c=True and a or b式子中,就成了c =(True and [a] or【b】)[0]了
回复

使用道具 举报

12

主题

0

好友

126

积分

注册会员

Rank: 2

5#
发表于 2017-12-20 22:39:50 |只看该作者
TED 发表于 2017-12-20 17:56
c并不是list, 首先明确主题是c = True and a or b 如果a不是空集的话,那么c=a
现在的问题是,如果a="",按 ...


非常感谢版主的耐心解答,可能我太笨了,还是不太明白,anyway
我先继续看完整个教程,然后不断回顾,多看几遍
可能遇到具体应用的时候再理解理解。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-11-23 09:30 , Processed in 0.030246 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部