お世話になっております。
Pythonのリストを変形させてデータが欲しいのですが、途中でfor文が終わってしまいます。
例えばstart=1 end=6なら['@@@1,@@@2','@@@3,@@@4','@@@5,@@@6']
のように出力させたいのですが、なぜか['@@@1,@@@2','@@@3,@@@4']
のように途中で終わってしまいます。
デバッグしてみたのですが、変数aまでは意図している動きをしているので、for文の中でおかしくなってしまっているようです。
リストaをpopしつつforしているので動作がおかしくなるのでしょうか?
ようするに["a","b","c","d"]を["ab","cd"]にしたいだけなのですが思ったよりもハマってしまい...
以上よろしくお願いいたします。
#欲しい結果 ['@@@117,@@@118', '@@@119,@@@120', '@@@125,@@@126', ...(中略)..., '@@@161,@@@162', '@@@163,@@@164','@@@165,@@@166']
#吐き出される結果 ['@@@117,@@@118', '@@@119,@@@120', '@@@125,@@@126', ...(中略)..., '@@@147,@@@148', '@@@149,@@@150']
start = 117 end = 166 hoge = range(start, end + 1) a = ["@@@" + str(i) for i in hoge] new_list = [] for i in a: temp = a.pop(0) temp2 = a.pop(0) string = temp + "," + temp2 new_list.append(string) print("new list is %s" %new_list)
Python3.6
Windows 10
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/16 07:52
退会済みユーザー
2018/02/16 23:33