首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >交换列表中的每两个元素

交换列表中的每两个元素
EN

Code Golf用户
提问于 2021-11-10 16:38:09
回答 47查看 5.5K关注 0票数 29

挑战

让我们有一个列表Ln元素。任务是交换此列表中的每两个元素。

约束

  • 列表L至少有两个元素
  • 列表L的大小是两个的倍数(即元素数为偶数)。

示例

  • 输入:[1,2,3,4,5,6]
  • 输出:[2,1,4,3,6,5]
  • 输入:[0,1,0,1]
  • 输出:[1,0,1,0]

规则

  • 这是code-golf挑战,所以最短的代码赢了
  • 适用标准规则作为默认I/O规则的答案,因此您可以使用stdin/stdout、函数/方法和适当的参数以及返回类型的完整程序。
  • 违约漏洞是禁止的。
EN

回答 47

Code Golf用户

发布于 2021-11-10 17:13:59

Python 3,34字节

代码语言:javascript
复制
f=lambda l:l and l[1::-1]+f(l[2:])

在网上试试!

l是空的(这使得它是错误的),直接返回它。否则,反转前两个元素并对其余元素进行递归调用。

票数 12
EN

Code Golf用户

发布于 2021-11-10 17:48:19

维沙尔 r,2字节

代码语言:javascript
复制
yY

在网上试试!

解释:

代码语言:javascript
复制
y  # Uninterleave
 Y # Interleave
票数 12
EN

Code Golf用户

发布于 2021-11-10 23:37:16

哈斯克尔,22字节

代码语言:javascript
复制
f(a:b:c)=b:a:f c
f x=x

在网上试试!

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

https://codegolf.stackexchange.com/questions/237085

复制
相关文章

相似问题

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