[英]Difference between pair in scheme and tuple in python?
在Scheme中,如果您有一对配对列表,例如:
((4 . 7) (4 . 9))
这基本上不是2元素元组的列表吗? 所以如果你在python中写这个,它会是这样的:
[[4, 7], [4,9]]
或[(4, 7), (4,9)]
?
我希望它尽可能接近python。 或者创建一个课程更接近?
在Scheme术语中,将对称作为两元素元组是没有意义的,因为这意味着在Scheme中存在三元素元组或四元素元组这样的东西,但事实并非如此。
也就是说,与Scheme对最接近的Python概念确实是一个双元素元组。 对列表绝对不同于列表列表。
哦,回答你在标题中暗示的问题:
在Scheme中,列表是空列表( ()
)或第二个元素是列表的对。 所以每个列表都是一对,但有些对不是列表。 例如,对(1 . (2 . ()))
是列表(更常见地写为(1 2)
),但是对(1 . 2)
不是列表,因为2
不是列表。
这些都不适用于Python。 Python列表是可增长的数组 - 不是由对/元组组成的链表。
scheme(pair)和python(tuple)有许多不同之处,就像元组是不可变的而其他的不是,当它不是一对但是元组可以用一个值(x,)等等时,对返回0 ..
阅读: http : //www.tutorialspoint.com/python/python_tuples.htm (对于python) http://www.gnu.org/software/guile/manual/html_node/Pairs.html (对于Scheme)
:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.