我想寫一個將讀取元組列表的程序,在元組中它將包含兩個元素。第一個元素可以是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」'。 –