|
Size: 682
Comment: 元组比较语义 怪怪
|
Size: 1032
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 1: | Line 1: |
| ##language:en | ##language:zh ''' python 元组理解''' [[TableOfContents]] |
| Line 19: | Line 24: |
| === 怪怪=== | === 怪怪 === |
| Line 21: | Line 26: |
| 1 对于空tuple (), 与含有一个元素的tuple比较,cmp( (), (a)), 结果为1,即 () > (a) 为真 | 1 对于空tuple (), |
| Line 23: | Line 28: |
| 2 对于空tuple (), 与含有2个或更多元素的tuple比较,cmp( (), (a,b)), 结果为-1,即 () < (a,b) 为真 | cmp( (), (a)), 如果 a 是含有一个原子元素的tuple, 结果为1,即 () > (a) 为真, 如果 a 是一个list, 结果也为真, |
| Line 25: | Line 34: |
| 如果 a 是一个tuple,若含有的元素多于一个,结果为假, 如仅含有一个原子元素,结果为真, |
|
| Line 26: | Line 38: |
| 第1条的语义与第2条不一致!,或者可以认为对空tuple()特殊处理。 | 如果含有一个tuple元素, 递归 ## |
| Line 35: | Line 48: |
| === 讨论 === | |
| Line 36: | Line 50: |
| 一个元素的元组不是(a),而应该是(a,)。如果只是(a)那只是一个括号运算。 {{{ >>> a=(1) >>> a 1 >>> a=(1,) >>> a (1,) }}} -- Limodou |
python 元组理解
python 元组比较语义 怪怪
Example
怪怪
1 对于空tuple (),
- cmp( (), (a)),
如果 a 是含有一个原子元素的tuple, 结果为1,即 () > (a) 为真, 如果 a 是一个list, 结果也为真, 如果 a 是一个tuple,若含有的元素多于一个,结果为假,
- 如仅含有一个原子元素,结果为真, 如果含有一个tuple元素, 递归 ##
对于含有更多元素的tuple间比较,嗷嗷,好像很复杂!
没看Python文档, 不清楚如何定义的.
看看源码? 好像对自己没什么用处尼?
讨论
一个元素的元组不是(a),而应该是(a,)。如果只是(a)那只是一个括号运算。
>>> a=(1) >>> a 1 >>> a=(1,) >>> a (1,)
- -- Limodou
