Erlang 列表生成
我有 2 个清单:
[“asd”,“dsa”]。
[[123,“asd”],[4534,“fgh”]]。
我如何生成下一个列表:我 ned 列出每个嵌套列表的尾部 =:= 1 个列表的其他元素。
在这个例子中:
[“asd”,“dsa”]。
[[123,“asd”],[4534,“fgh”]]。
“asd”=:=“asd”->
输出列表:
[123, "asd"]
我尝试:
这里S = [[123,“asd”],[4534,“fgh”]]。 D = [“asd”,“dsa”]。
列表 = 列表:过滤器(fun(X) -> 列表:last(X) =:= D end, S),
但是此示例列表中的 D,我需要列表的元素。
怎样才能做到呢?
I have 2 list:
["asd", "dsa"].
[[123, "asd"], [4534, "fgh"]].
How can i generate next list: I ned list that tail of each nested list =:= other element of 1 list.
In this example:
["asd", "dsa"].
[[123, "asd"], [4534, "fgh"]].
"asd" =:= "asd" ->
Output list:
[123, "asd"]
I try:
Here S = [[123, "asd"], [4534, "fgh"]].
D = ["asd", "dsa"].
List = lists:filter(fun(X) ->
lists:last(X) =:= D end, S),
But D in this example list, and i need element of list.
How can do it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
也许是这样的:
或者,使用您的示例数据:
Maybe something like:
Or, using your sample data:
稍微更直接的编写方式是:
或使用列表推导式:
它们速度更快一些,因为如果找到元素,它们不会尝试与
D
中的更多元素进行匹配。在推导式中扩展D
就可以做到这一点。A slightly more direct way of writing it would be:
or with list comprehensions:
They are a little faster as they will not attempt to match against more elements in
D
if the element is found. ExpandingD
in the comprehension will do this.