スプレッドシートに書き込む際に配列を縦に並べ替える必要がありました。1個ずつ入れていくのは時間がかかりますし。
ややこしいので、やりたいことから説明します。
Contents
やりたいこと
複数リストをインデックスの0番同士を新しい配列にした2次元配列を作りたいです。
list1 = [1,2,3]
list2 = ['a', 'b', 'c']
#なんやかんやして以下の形にしたい
list = [[1,'a'],[2,'b'], [3,'C']]
複数リストを順に取り出して2次元配列にする
以下のような形になりました。
def mixLists(lists):
verticalList=[]
for i in range(len(lists[0])):
arr = []
for x in lists:
arr.append(x[i])
verticalList.append(arr)
return verticalList
list1 = [1,2,3]
list2 = ['a', 'b', 'c']
lists =[list1, list2]
res = mixLists(lists)
print(res) #[[1,'a'],[2,'b'], [3,'C']]
欠点としてはそれぞれのリストの長さが同じでなければならないことです。バラバラの場合は長さを比較して長いものに合わせてあげないといけないですね。
おわり
もうちょっといい形にできそうですがひとまずやりたいことができたのでよしとします。
参考サイト:Python | Printing list vertically – GeeksforGeeks