0
A
回答
0
这是一个快速样本,未经过测试,但应该可以工作。
split_tuples([{A | B} | T], Acc) ->
NewAcc = [B | Acc],
split_tuples(T, NewAcc);
split_tuples([], Acc) ->
lists:reverse(Acc).
3
您可以使用列表:地图。
1> A = [{1,2},{3,4},{5,6}].
[{1,2},{3,4},{5,6}]
2> B = lists:map(fun ({_, V}) -> V end, A).
[2,4,6]
传递给地图功能将选择从元组所需要的元素,其结果将是,在元组的给定列表的特定位置的所有元素的列表。上面的代码假定所有的元组都有相同数量的元素。
+0
欢呼!正常工作 – user2270439
1
> L = [{a1,b1}, {a2,b2}, {a3,b3}].
[{a1,b1},{a2,b2},{a3,b3}]
> lists:foldr(fun({_, B}, Acc) -> [B | Acc] end, [], L).
[b1,b2,b3]
0
erlang's element/2
函数就是这样做的:从元组返回第n个元素。
把它放在地图或折叠函数中,并将位置作为参数,就完成了。
编辑:一些未经测试的代码示例:
get_them_all(ListOfTuples,Index) ->
lists:map(fun(Tuple) -> element(Index,Tuple) end,ListOfTuples).
3
还有一种方法是只使用一个简单的列表理解:
[B || {_, B} <- L].
+0
如果你选择这个解决方案,这将是方便的:如果列表包含与其他2个元素的元组,它们将被默默跳过。例如:'[b1,b2] = [B || {_,B} < - [{a1,b1},{a2,b2},{a3,b3,c3}]]在某些情况下, – danechkin
相关问题
- 1. Erlang:创建列表中的元组列表:foreach
- 2. 通过分割'\ t'来分割python中的列表元素
- 3. Erlang xml元组和列表
- 4. 如何将2元组列表分割成两个列表?
- 5. 通过组合两个列表创建列表
- 6. 分割列表
- 7. 将元组列表分割成相同元组字段的子列表
- 8. 通过分割散列创建多个阵列
- 9. 通过列表列表进行交互以创建新列表
- 10. ERlANG - 将列表拆分成子列表
- 11. ERLANG - 将列表拆分成子列表
- 12. 通过在多个属性上分组创建对象列表
- 13. Erlang列表与元组比较
- 14. Erlang记录到元组列表
- 15. erlang:元组列表中的项目
- 16. Erlang:排序或排序函数的列表元组列表
- 17. Scala的组通过列表的列表,并减去分组值
- 18. Erlang重复元素列表
- 19. 分割值列表
- 20. 分割列表Python
- 21. Prolog分割列表
- 22. 分割python列表
- 23. Java分割列表
- 24. 分割Linq列表
- 25. Scala:分组元组列表
- 26. 过滤元组的列表的列表
- 27. Erlang数组vs列表
- 28. 通过元组列表快速迭代
- 29. Python:通过元组列表搜索
- 30. 如何创建元组列表C++
的可能重复[如何建立一个从Erlang中的元组列表中提取的元素?](http://stackoverflow.com/questions/23626189/how-do-i-build-a-list-of-elements-extracted-from-a-list- erlang-er-erlang) – aronisstav