0
List = ["Wednesday_A_20", "Tuesday_C_22", "Thursday-A-30"]

私はこれを次のように並べ替えることができます

List.sort(key=lambda x: x.split("_", 1)[-1])

しかし、使用することは可能ですか

set() を使用して、目的の出力を次のように取得します。

"Wednesday_A_20", "Tuesday_C_22"

セクション1で文字を繰り返してはいけません。Pythonの新機能より良い方法??? 前もって感謝します

4

2 に答える 2

3

私があなたを正しく理解しているなら、あなたはできる

In [1]: mylist = ["Wednesday_A_20", "Tuesday_C_22", "Thursday_A_30"]

In [2]: key = lambda s: s.split('_')[1]

In [3]: from itertools import groupby

In [4]: [next(g) for k, g in groupby(sorted(mylist, key=key), key=key)]
Out[4]: ['Wednesday_A_20', 'Tuesday_C_22']

ここではセットは直接適用できません。これは、一意のセクションのみであり、文字列全体ではないためです。ただし、dictを使用できます。

于 2013-06-02T18:37:19.707 に答える