1 つのマスター リストからいくつかの新しいリストを作成しようとしています。これにより、新しいリストにはマスター リストの類似アイテムが含まれます。具体的には、バス路線のリストがあります。サンプル データ セットを次に示します。
[u'Bus04_00_00_IB_pts_Line', u'Bus04_00_00_OB_pts_Line', u'Bus15_00_00_IB_pts_Line', u'Bus15_00_00_OB_pts_Line']
ほとんどのバス ルートには、インバウンド (IB) とアウトバウンド (OB) の項目があります (複数の IB と OB があるものもあれば、ルートが 1 つしかないものもあり、それらはループ ルートです)。最終的には、IB ルートと OB ルートをマッピング ソフトウェアでマージしたいと考えています (方法は既に知っています)。
IB か OB かに関係なく、最初の 5 文字がバス ルートを表すようにファイル名を最初に作成しました。したがって、最初の 5 文字に基づいて類似アイテムをグループ化できます。たとえば、私が書くとき:
for route in routes:
print route[0:5]
私は得る:
>>>
Bus04
Bus04
Bus15
Bus15
Bus04
およびBus04
に関連するファイルBus15
をBus15
新しいリストに「グループ化」するにはどうすればよいですか。
[u'Bus04_00_00_IB_pts_Line', u'Bus04_00_00_OB_pts_Line']
別の[u'Bus15_00_00_IB_pts_Line', u'Bus15_00_00_OB_pts_Line']
リストとして?
私は、各アイテムをループして、それぞれの最初の 5 文字を見て、新しい 5 文字のアイテムごとに新しいリストを作成する (そしてそのアイテムを新しいリストに追加する) か、リストが既に存在し、それに類似したアイテムを追加しています。
これをコードで書くのに苦労しているので、どんな助けも大歓迎です!