トップページ > プログラム > 2015年10月10日 > UQMKf0jM

書き込み順位&時間帯一覧

17 位/178 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000010001100003



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
くだすれPython(超初心者用) その27©2ch.net

書き込みレス一覧

くだすれPython(超初心者用) その27©2ch.net
472 :デフォルトの名無しさん[sage]:2015/10/10(土) 14:07:59.78 ID:UQMKf0jM
[hoge, 1]
[hog, 2]
[ho, 3]
[h, 4]
.
.
.
というような沢山のリストをループ処理の結果、出力する、というような関数を作ったのですが、返し値にうまく入ってくれません。
一回目のループ結果、つまりこの例で言う一番上の
[hoge, 1]だけが値に入って返されてしまいます。
とうすれば全てのループ処理の後のデータが返し値に入ってくれるでしょうか。
ループの外にreturnをおいてもダメでした。
宜しくお願いします。
くだすれPython(超初心者用) その27©2ch.net
478 :デフォルトの名無しさん[sage]:2015/10/10(土) 18:05:20.74 ID:UQMKf0jM
>>474
すみません、こんな感じです

f = open(u"data.txt")
data1 = f.readlines()
f.close

f = open(u"del.txt", "r")
del = [line.strip("\n") for line in f]
f.close

number = "150"

def get():
_____for data in data1:
_____list_a = data.strip("\n").split("\t")
_____dict_a = {"name":list_a[0], "cluster":list_a[1]}_____if number in dict_a.values():
_______data2 = dict_a["name"].split()
_______del_data = [d for d in data2 if d not in del]
_______return del_data

data.txtには
文字列、番号のセットのデータが大量に、
del.txtには削除したい文字列が改行区切りで入ってます。
番号は被っており、番号というよりかはグループのイメージです。

このコードだと、150という番号を持った文字列を抜き出し、さらにそこから所定の文字列を削除する、という処理が目的です。

宜しくお願いします。
くだすれPython(超初心者用) その27©2ch.net
482 :デフォルトの名無しさん[]:2015/10/10(土) 19:02:30.99 ID:UQMKf0jM
>>480
例えばdata.txtの中身が
abcd 1
efgh 1
ijkl 1
mnop 2
qrst 2
uvwx 2
yz12 3
3456 3
789@ 3
(全てタブ区切り)
だとして、numberを”1”とした場合、本当は
['abcd']
['efgh']
['ijkl']
が返ってきてほしいのにこのままだと
['abcd']
しか返ってこない、ということです。

>>481
変数名は適当に変えただけなので、都合のいいものに変換してくださると助かります。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。