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' 即交换前两个段)并将其对应的 int 值乘以 - 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 回答