簡體   English   中英

將嵌套循環轉換為列表理解

[英]Convert nested loop to list comprehension

我正在嘗試通過將元組元素連接到字符串來將元組列表轉換為字符串列表。 問題在於某些元組值不是字符串,因此我必須對其進行轉換。 我已經使用嵌套循環成功解決了這個問題。 但是,我似乎無法提出等效的列表理解方法。

這是我的解決方案。 我從這些值開始:

values = [(1, '2', 'X'), (2, '4', 'Y'), (7, '5', 'Z')]

結果應如下所示:

result = ['1_2_X', '2_4_Y', '7_5_Z']

這是我使用嵌套循環的解決方案:

values = [(1, '2', 'X'), (2, '4', 'Y'), (7, '5', 'Z')]
result = []
for v in values:
   new_v = []
   for s in v:
       new_v.append(str(s))
   result.append("_".join(new_v))

是否有等效的列表理解能力? 我有點懷疑這是不可能的,因為我追加result不是在內循環中,而是在外循環中,但是我可能是錯的。

作為獎勵,也許我想得太過分了,對於我想要實現的目標,有一個更簡單的解決方案。

['_'.join((str(s) for s in seq)) for seq in values]
result = ['_'.join(str(token) for token in value) for value in values]

另取:

result = ['{}_{}_{}'.format(*i) for i in values]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM