私は、このようなファイルがあります:別のリストからの情報を使用して数値のリストを生成
100 2
300 3
50 1
500 5
を、私は最初の数は数のoccuranceある番号のプールを生成したいですリストはx回発生する必要があります(xはリストの2番目の数字です)。
これは私が出力になりたいものです。
[100, 100, 300, 300, 300, 50, 500, 500, 500, 500, 500]
私はこのような関数を書いた:
def Pool(pos, count):
pool = pos*int(count)
return pool
を、各行のために、私はbigpoolという変数にすべての数字を付加し
bigpool = []
for line in weightposfile:
line = line.rstrip()
f = line.split('\t')
pos = f[0]
count = int(f[1])
pool = Pool(pos, count)
bigpool.append(pool)
しかし、これは次のようなリストを返します:
[100100, 300300300, 50, 500500500500500]
数字を分けて、私が望む出力を得るにはどうすればいいですか(上記参照)?
Pythonの規約では、クラス名に大文字の大文字のみを使用することに留意してください。それは単なる大会ですが、ほとんどの設定であなたのような機能のために 'pool'が期待される名前になります。 –
そのコードでその出力を生成することはできません。あなたの "pos"は文字列なので、出力は '['100100'、 '300300300'、 '50'、 '500500500500500']'のようになります。コードをコピーして貼り付け、コメントを出力してください。 – DSM
あなたはそうですね、それはそのように見えます。ごめんなさい!次回は貼り付けてコピーします。 – edg