- 帖子
- 169
- 精华
- 1
- 积分
- 654
- 阅读权限
- 100
- 注册时间
- 2017-11-30
- 最后登录
- 2019-10-28
|
本帖最后由 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]了
|
|