我有以下内容:
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]
但我只是继续'返回'和语法错误,这也不会尝试重新排列'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]]]
非常感谢,非常感谢。
答案 0 :(得分: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来尝试实现什么?