交换第一个字典后,从两个列表中创建一个字典? [重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

我希望根据一些变量在列表中移动整数的位置。为了示例,我在range()和pop()中都有硬编码的数字。

如何将循环结果声明为新列表 - 以便稍后根据键和值列表创建字典。

这段代码有效,但我没有新列表:

keys = range(0, 7)
print(keys)
for i in range(1):
     keys.insert(0, keys.pop(1))

print(keys)
In: print(keys)
Out: [0, 1, 2, 3, 4, 5, 6]

In: print(keys)
Out: [6, 0, 1, 2, 3, 4, 5]

此代码不起作用:

keys = range(0, 7)
print(keys)
for i in range(1):
     values = keys.insert(0, keys.pop(1))

print(values)
In: print(keys)
Out: [0, 1, 2, 3, 4, 5, 6]

In: print(values)
Out: None
python insert list-comprehension pop
1个回答
1
投票
values = range(0, 7)

for i in range(1):
    keys = list(values)
    values.insert(0, values.pop(1))

dictionary = dict(zip(keys, values))

print(keys)
print(values)
print(dictionary)
#[0, 1, 2, 3, 4, 5, 6]
#[1, 0, 2, 3, 4, 5, 6]
#{0: 1, 1: 0, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6}
© www.soinside.com 2019 - 2024. All rights reserved.