我試圖將字母作為字串加入串列中,該字串也在串列中。例如,它看起來像這樣 [['a', 'b', 'c'], ['d', 'e', 'f']] 但是我希望結果看起來像 'ad be cf'這基本上是采用位于串列中相同位置的元素。我知道如何將元素連接到一個看起來像“abcdef”的串列中,但是,我不知道我可以添加哪個以回傳一個類似于上面的字串。任何建議將不勝感激!
string = ''
new_grid = []
for a in grid:
for b in a:
string = b
return string
uj5u.com熱心網友回復:
當您想將串列轉置為列時,您通常會使用zip(). 例如:
l = [['a', 'b', 'c'], ['d', 'e', 'f']]
# make a list of columns
substrings = ["".join(sub) for sub in zip(*l)]
#['ad', 'be', 'cf']
print(" ".join(substrings))
# alternatively print(*substrings, sep=" ")
# ad be cf
uj5u.com熱心網友回復:
這有效:
my_list = [['a', 'b', 'c'], ['d', 'e', 'f']]
sorted_list = [list(pair) for pair in zip(my_list[0], my_list[1])]
for i in range(3):
string = ''.join(sorted_list[i])
print(string, end=" ")
首先,我們使用 將每個單獨的串列與其對應的值配對[zip][1],然后我們將它連接成一個字串,并列印出來。
這種解決方案可能不是最有效的,但很容易理解。
另一個沒有的快速解決方案zip可能如下所示:
my_list = [['a', 'b', 'c'], ['d', 'e', 'f']]
sorted_list = list(map(lambda a, b: a b, my_list[0], my_list[1]))
print(" ".join(sorted_list))
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/357332.html
下一篇:將串列推導式轉換為for回圈
