私は次のことを行うPythonスクリプトを作成しようとしています:
テーブル(dbfまたはcsv-どちらでも作成できます)には、常に4つのレコードしかありません。列2(Let)は、常にa、b、c、dの順序になります。列1(数値)の数値は常に0から10の間ですが、頻度と順序は異なります。出力は、最初に出力される最小の数でNumによってソートおよびグループ化する必要があります。最初の列の数字が1回表示されると、対応する文字だけが出力されます。数字が2回現れる場合(つまり、2つの行が同じ数字である場合)、対応する各文字は、それらの間に「and」を付けて出力されます。数字が2回以上表示される場合、各文字は、それらの間にコンマを入れ、最後の文字の前に「and」を付けて出力されます。表示される各文字グループは、独自の出力行を取得します。
基本的に、4つのオプションのうちの1つを並べ替え、グループ化し、出力することを検討しています。
「データなし」
1文字自体
「and」で区切られた2文字
コンマで区切られた3文字と最後の文字の前の「and」
以下は、soils_no.dbfと呼ばれるテーブルのさまざまなバージョンと、入力に応じた望ましい出力です。
番号.......... 0...............
a
0 ............... b
0 .. .. ............ c
0...............d
印刷「データなし」
番号..........
8............... a
8 ............... b
2 .. .. ............ c
8 ............... d
print c
print a、b、d
番号..........
4............... a
1 ............... b
7 .. .. ............ c
3...............d
印刷b
印刷d
印刷
印刷c
番号..........
3............... a
3 ............... b
10 .. .. .......... c
1...............d
印刷d
印刷aおよびb
印刷c
番号.......... 10...............
a
10 ............... b
10 .. .. ............ c
10 ............... d
印刷a、b、c、およびd
ループしてコンマと「and」を入れる方法は知っていますが、グループ化して並べ替える方法がわかりません。Python2.7でこれを行う。
ところで、私はPythonを学ぼうとしているので、コードの意味を説明してください。学べば学ぶほど、見知らぬ人の優しさに頼ることは少なくなります。
事前に何億もの感謝を。