我想写一个将读取元组列表的程序,在元组中它将包含两个元素。第一个元素可以是Object,第二个元素将是该Object的数量。就像:Mylist([{Object1,Numbers},{Object2, Numbers}])
。
然后我想读Numbers
并打印相关的对象Numbers
次,然后将它们存储在一个列表中。
所以如果Mylist([{lol, 3},{lmao, 2}])
,那么我应该得到[lol, lol, lol, lmao, lmao]
作为最终结果。
我的想法是首先将这些元组解压缩成两个元组,第一个元组包含对象,第二个元组包含数量数字。
之后,读取第二个元组中的数字,然后用精确的次数在第一个元组中打印相关的对象。但我不知道该怎么做。谢谢你的帮助!如何从列表中读取元组中的每个元素
1
A
回答
3
列表理解可以这样做:
lists:flatten([lists:duplicate(N,A) || {A, N} <- L]).
如果你真的想在打印过,使用递归:
p([]) -> [];
p([{A,N}|T]) ->
FmtString = string:join(lists:duplicate(N,"~p"), " ")++"\n",
D = lists:duplicate(N,A),
io:format(FmtString, D),
D++p(T).
该代码使用lists:duplicate/2
复制"~p"
格式io:format/2
格式字符串说明符N
次,将它们与string:join/2
的空格结合,并添加一个换行符。然后它再次使用lists:duplicate/2
获取N
副本的列表A
,使用格式字符串打印这些N
项目,然后将列表与递归调用的结果组合以创建函数结果。
相关问题
- 1. 从数组列表中获取每个数组的元素?
- 2. 如何从SML中的元组列表中获取元素?
- 3. 如何在jQuery中读取数组中的每个元素?
- 4. 获取列表中的元组元素
- 5. 如何从python中的元组列表中提取第n个元素?
- 6. 按元素从txt元素中读取列表
- 7. 如何将列表中的每个元素与R中另一个列表中的每个元素分开?
- 8. 如何从n元组中的每个元素都是相同的列表中删除n元组?
- 9. 收集每对从列表中的元素到元组在Python
- 10. 如何提取从列表中的元素混合元素
- 11. 从java中的数组读取元素
- 12. 如何从F#中的数组列表中提取元素?
- 13. 如何从android中的数组列表中获取元素
- 14. 转换列表中的每个元素的元组
- 15. 从元组列表中删除元素
- 16. 如何使用m个元素从n个列表中列出每个元素的组合? (Python)
- 17. 如何总结数组列表中的每个元素?
- 18. 如何从表单元素的值中的数组中获取数组元素?
- 19. 如何比较列表中的每个元素与另一个列表中的每个元素?
- 20. 读取Java中的XML元素列表
- 21. 如何创建一个包含每个元组中元素总和的列表?
- 22. 如何提取列表中的每个奇数编号元素
- 23. 如何获取列表中每个元素的计数?
- 24. 如何从元组中获取元组中元素的引用元组?
- 25. 如何交替地从列表中读取元素?
- 26. 结合元组和列表的列表,从列表中删除元组元素
- 27. 返回列表中每个元素的第一个元素?
- 28. 如何从python列表中获取元素的组合?
- 29. 如何强制pprint打印每行一个列表/元组/元素元素?
- 30. lapply列表中的每个元素
我可以问一下'string:join'在程序中做什么吗? – maoyi
'string:join/2'调用在重复的“〜p”字符串之间放置空格。例如,如果'N'是3,'lists:duplicate(3,“〜p”)''返回'[“〜p”,“〜p”,“〜p”]',并从那个'string:join (列表:重复(3,“〜p”),“”)'产生字符串'“〜p〜p〜p”'。 –