Python:如何在不反转原始字典的情况下反转新字典中的列表

标签 python list dictionary

我有一个列表字典说:

dic = {"foo" : [1,3,5,6] , "bar" : [5, 3, 8, 4]}

我正在尝试在不破坏原始列表的情况下创建这些列表的反向字典

我什至尝试过类似的事情

list1 =  dic["foo"]
list2 = list1.reverse()
newDic = {}
newDic["foo"] = list2

但似乎dic["A"]list1list2 都指向同一个内存位置。 也就是说,dic["foo"]也在这个过程中被反转了,这不是我想要的!!! 有什么简单的方法可以解决这个问题吗?

最佳答案

如果你想做整本字典试试这个衬垫:

newDic = {key:value[::-1] for key,value in dic.iteritems()}

如果你只想做一个列表试试这个:

list1 =  dic["foo"]
newDic = {}
newDic["foo"] = list1[::-1]

list.reverse() 将改变列表本身。试试 list[::-1],它会返回一个反向列表的新副本

关于Python:如何在不反转原始字典的情况下反转新字典中的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26582136/

相关文章:

python - 使用 UPDATE FOR 和外键锁定 postgres

swift 3 : Change item in dictionary

Python - 将字典列表重新组合为两个嵌套的字典列表?

arrays - 如何从 Hive 映射中获取仅包含键的列表

java - 如何找到图像文件中的隐藏文件 (Jpg/Gif/Png)

python - ValueError : No 'serving_default' in the SavedModel's SignatureDefs. 可能的值为 'name_of_my_model'

python - 自动将长 if 语句压缩为短语句

javascript - 如何使用 onclick 显示和隐藏一个简单的 <ol> 列表?

html - 显示以元素符号居中的列表

python - 为列表中的不同数字切换列表中的字符