首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模式中的对和python中的元组之间的区别?

模式中的对和python中的元组之间的区别?
EN

Stack Overflow用户
提问于 2013-01-29 10:46:53
回答 2查看 997关注 0票数 0

在Scheme中,如果您有一个配对列表,例如:

((4 . 7) (4 . 9))

这不就是一个包含2个元素元组的列表吗?所以如果你用python写这段代码,它会是这样的吗:

[[4, 7], [4,9]]还是[(4, 7), (4,9)]

我希望它尽可能地接近python。或者创建一个类会更接近吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-29 10:50:24

在Scheme术语中,将对称为两个元素的元组是没有意义的,因为这意味着Scheme中有三个元素的元组或四个元素的元组,但实际上没有。

也就是说,最接近Scheme对的Python概念实际上是一个由两个元素组成的元组。配对列表绝对不同于列表列表。

哦,为了回答你在标题中暗示的问题:

在Scheme中,列表可以是空列表(()),也可以是第二个元素是列表的对。所以每个列表都是一个对,但有些对不是列表。例如,(1 . (2 . ()))对是一个列表(通常写成(1 2)),但(1 . 2)对不是列表,因为2不是列表。

所有这些都不适用于Python。Python列表是可增长的数组,而不是由对/元组组成的链表。

票数 2
EN

Stack Overflow用户

发布于 2013-01-29 11:20:54

方案(对)和python(元组)有很多不同之处,比如元组是不变的,而其他元组不是,当它不是对但元组可以包含一个值(x,)时,pair返回0,以及更多。

阅读:http://www.tutorialspoint.com/python/python_tuples.htm (用于python) http://www.gnu.org/software/guile/manual/html_node/Pairs.html (用于方案)

:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14574836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档