0

私は次のものを持っています:

list = [['1234-4321-1',[5, 6, -4, 11, 22]], ['8763-1234-1', [43, -5, 0, 0, -1]], ['1234-5376-1', [3, 0, -5, -6, 0]]]

reversed__dict = {'8763-1234-1'}

リストを反復処理し、reversed_dictに保持されている逆の値を検出して文字列を永続的に再配置し(「1234-8763-1」に変更、つまり最初の2つのセグメントを交換)、対応するint値に-を掛けるループを作成したいと思います。 1.1。

私は以下を試しました:

for i, x in list:
    if i in ordered_dict:
        p = (x * -1)
return list[p]

しかし、私は「return」と構文エラーを受け取り続けます。また、これは「8763-1234-1」を再配置しようとはしません。

望ましい最終結果は次のとおりです。

    >>list
    >>[['1234-4321-1',[5, 6, -4, 11, 22]], ['1234-8763-1', [-43, 5, 0, 0, 1]], ['1234-5376-1', [3, 0, -5, -6, 0]]]

多くの、非常に感謝しています。

4

1 に答える 1

0
for val in lst:
    num = val[0]
    if num in reversed_set:
        parts = num.split('-')
        val[0] = '-'.join([parts[1], parts[0], parts[2]])

>> lst
[['1234-4321-1', [5, 6, -4, 11, 22]], ['1234-8763-1', [43, -5, 0, 0, -1]], ['1234-5376-1', [3, 0, -5, -6, 0]]]

ちなみに {'8763-1234-1'} は辞書ではなく集合です。また、変数の名前として "list" を使用することはお勧めできません。

また、リストに -1 を掛けて何を達成しようとしましたか?

于 2012-08-07T11:20:06.507 に答える