- 主题:一个any的问题
之前用any([a,b,c]),如果a是true了,b,c就短路不计算了,现在用python3.8,居然还要处理
--
FROM 36.112.24.*
不可能,你那个中括号已经是一个list了,any不any都得先算出来
Python 3.5.3 (default, Apr 26 2017, 17:28:50)
[GCC 4.9.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> def f(x):
... x.append(1)
... return True
...
>>> x = []
>>> any([f(x), f(x), f(x)])
True
>>> x
[1, 1, 1]
【 在 happymarried (fibbit) 的大作中提到: 】
: 之前用any([a,b,c]),如果a是true了,b,c就短路不计算了,现在用python3.8,居然还要处理
--
修改:wincss FROM 114.242.94.*
FROM 114.242.94.*
感谢
我代码里是
if any([x in mydict, mydict[x]),记得之前3.7能跑过,升级python3.8跑不了了,看你用3.5.3,
还是乖乖的用or运算符把
【 在 wincss (wincss) 的大作中提到: 】
: 标 题: Re: 一个any的问题
: 发信站: 水木社区 (Thu Jan 7 11:40:41 2021), 转信
:
: 不可能,你那个中括号已经是一个list了,any不any都得先算出来
:
: Python 3.5.3 (default, Apr 26 2017, 17:28:50)
: [GCC 4.9.2] on linux
: Type "help", "copyright", "credits" or "license" for more information.
: >>> def f(x):
: ... x.append(1)
: ... return True
: ...
: >>> x = []
: >>> any([f(x), f(x), f(x)])
: True
: >>> x
: [1, 1, 1]
:
: 【 在 happymarried (fibbit) 的大作中提到: 】
: : 之前用any([a,b,c]),如果a是true了,b,c就短路不计算了,现在用python3.8,居然还要处理
:
:
: --
:
: ※ 修改:·wincss 于 Jan 7 11:42:10 2021 修改本文·[FROM: 114.242.94.*]
: ※ 来源:·水木社区 newsmth.net·[FROM: 114.242.94.*]
--
修改:wincss FROM 114.242.94.*
FROM 36.112.24.*
1.直接写 mydict.get(x) 不得了么。。。。
2.我保证3.7也运行不了
【 在 happymarried (fibbit) 的大作中提到: 】
: 感谢
: 我代码里是
: if any([x in mydict, mydict[x]),记得之前3.7能跑过,升级python3.8跑不了了,看你用3.5.3,
: ...................
--
FROM 114.242.94.*
这是最简化代码,实际还有别的条件,出问题的地方在这里
【 在 wincss (wincss) 的大作中提到: 】
: 标 题: Re: 一个any的问题
: 发信站: 水木社区 (Thu Jan 7 14:14:34 2021), 转信
:
: 1.直接写 mydict.get(x) 不得了么。。。。
: 2.我保证3.7也运行不了
:
: 【 在 happymarried (fibbit) 的大作中提到: 】
: : 感谢
: : 我代码里是
: : if any([x in mydict, mydict[x]),记得之前3.7能跑过,升级python3.8跑不了了,看你用3.5.3,
: : ...................
:
: --
:
: ※ 来源:·水木社区 newsmth.net·[FROM: 114.242.94.*]
--
FROM 36.112.24.*
你可能把关键的地方简化了
【 在 happymarried (fibbit) 的大作中提到: 】
: 这是最简化代码,实际还有别的条件,出问题的地方在这里
--
FROM 114.245.113.*
这不可能是最简化代码....
你要判断x在mydict且x对应的value不是空?
直接用if mydict.get(x,None)就可以了。
【 在 happymarried (fibbit) 的大作中提到: 】
: 这是最简化代码,实际还有别的条件,出问题的地方在这里
--
FROM 111.202.234.*
我保证你的程序挂掉不是因为你觉得的这个错法
any只是一个函数,那个[]肯定先于any求值,版本升级也不会改这个的
【 在 happymarried (fibbit) 的大作中提到: 】
: 这是最简化代码,实际还有别的条件,出问题的地方在这里
--
FROM 114.242.94.*
你自己写一小段能复现问题的示例代码很难吗?python都不用编译直接运行,最适合写示例代码了呀。
【 在 happymarried (fibbit) 的大作中提到: 】
: 标 题: Re: 一个any的问题
: 发信站: 水木社区 (Thu Jan 7 14:16:18 2021), 转信
:
: 这是最简化代码,实际还有别的条件,出问题的地方在这里
: 【 在 wincss (wincss) 的大作中提到: 】
: : 标 题: Re: 一个any的问题
: : 发信站: 水木社区 (Thu Jan 7 14:14:34 2021), 转信
: :
: : 1.直接写 mydict.get(x) 不得了么。。。。
: : 2.我保证3.7也运行不了
: :
: : 【 在 happymarried (fibbit) 的大作中提到: 】
: : : 感谢
: : : 我代码里是
: : : if any([x in mydict, mydict[x]),记得之前3.7能跑过,升级python3.8跑不了了,看你用3.5.3,
: : : ...................
: :
: : --
: :
: : ※ 来源:·水木社区 newsmth.net·[FROM: 114.242.94.*]
:
:
: --
:
: ※ 来源:·水木社区 newsmth.net·[FROM: 36.112.24.*]
--
FROM 76.126.252.*