繁体   English   中英

方案中的对和python中的元组之间的区别?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM