0
リスト内のファイルの表示を表す混合データ型(整数を含む整数とタプル)のリストを持っていますfiles
。私は、各ファイルから計算した数値を集計する必要があるため、単純な整数とは違ってタプルを扱いたいと思っています。リストind
をループしてそのエントリがタプルであるかどうかをチェックし、それを関数find_fname
に渡すと、各エントリの後にNone
が表示されるのはなぜですか?ここでは、最小限の作業例です:混合データ型のリストから整数を取得する
def find_fname(ind, files):
print files[ind]
files = ['file1','file2','file3','file4']
ind = [0,(1,2),3]
for thing in ind:
#check to see if entry in list is tuple
if hasattr(thing, '__iter__'):
print find_fname(thing[0],files)
print find_fname(thing[1],files)
else:
print find_fname(thing,files)
リターン:あなたが印刷しているため機能find_fname
の戻り値はNone
ある
file1
file2
file3
file4
あなたは関数内から印刷カント? – dubbbdan
はい、できますが、戻り値を 'print find_fname(...)'のようにコードに出力しているので、2回印刷することになります。 – ozgur
ok、ありがとう! – dubbbdan