gpt4 book ai didi

Erlang 列表推导,遍历两个列表并排除值

转载 作者:行者123 更新时间:2023-12-04 10:12:52 25 4
gpt4 key购买 nike

我需要在 Erlang 中生成一组坐标。给定一个坐标,比如说 (x,y) 我需要生成 (x-1, y-1), (x-1, y), (x-1, y+1), (x, y-1), (x, y+1), (x+1, y-1), (x+1, y), (x+1, y+1)。基本上除了中间坐标(x,y)之外的所有周围坐标。要生成所有九个坐标,我目前这样做:

[{X,Y} || X<-lists:seq(X-1,X+1), Y<-lists:seq(Y-1,Y+1)]

但这会生成所有值,包括 (X,Y)。如何使用列表理解中的过滤器从列表中排除 (X,Y)?

最佳答案

[{X,Y} || X <- lists:seq(X0-1,X0+1),
Y <- lists:seq(Y0-1,Y0+1), {X,Y} =/= {X0,Y0}].

关于Erlang 列表推导,遍历两个列表并排除值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2437274/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com