フォルダー名のリストを1次元配列として持っています:すなわち:
folderList=['A1_001', 'A1_002', 'A1_003', 'A1_004',
'A2_001', 'A2_002', 'A2_003', 'A2_004',
'A3_001', 'A3_002', 'A3_003', 'A3_004']
「A1」、「A2」、「A3」のように、リストを最初の 2 文字でグループ化したいと考えています。これは groupby を使用して行う必要があると考えましたが、コードが機能しません。
sectionName=[] #to get the first two characters of each element into a new list
for file in folderList:
sectionName.append(file.split('_')[0])
for key, group in groupby(folderList,sectionName):
print key
for record in group:
print record
エラーが発生しました:
for key, group in groupby(folderList,sectionName):
TypeError: 'list' object is not callable
私が得たいのは、次のような結果です:
A1
['A1_001', 'A1_002', 'A1_003', 'A1_004']
A2
['A2_001', 'A2_002', 'A2_003', 'A2_004']
A3
['A3_001', 'A3_002', 'A3_003', 'A3_004']
この関数は 2 番目の入力をキー関数にする必要があると考えましたgroupby
が、これまでキー関数への実装に失敗していsectionName
ました。ご協力いただける場合は、事前に感謝します。