Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
迭代时Python dict问题_Python_Python 3.x_Dictionary_Key_Iteration - Fatal编程技术网

迭代时Python dict问题

迭代时Python dict问题,python,python-3.x,dictionary,key,iteration,Python,Python 3.x,Dictionary,Key,Iteration,我一直在到处搜索我的一个代码中出现的问题,但没有找到任何解决方案。。。这很烦人,这就是我问你这个问题的原因 我使用的是一个带有键和值的简单词汇表,但问题是当我想打印它的结尾时,它有一个奇怪的无序排列,其中两个字母是颠倒的,例如“C”:“W”,“B”:“X”而不是“B”:“X”,“C”:“W”。这是我的代码(可能会更清楚) 另外,我在最后几行中首次尝试用for结构替换while结构,但没有任何改进 import random m1 = ["ABCDEFGHIJKLMNOPQRSTUVWXYZ"]

我一直在到处搜索我的一个代码中出现的问题,但没有找到任何解决方案。。。这很烦人,这就是我问你这个问题的原因

我使用的是一个带有键和值的简单词汇表,但问题是当我想打印它的结尾时,它有一个奇怪的无序排列,其中两个字母是颠倒的,例如“C”:“W”,“B”:“X”而不是“B”:“X”,“C”:“W”。这是我的代码(可能会更清楚)

另外,我在最后几行中首次尝试用for结构替换while结构,但没有任何改进

import random

m1 = ["ABCDEFGHIJKLMNOPQRSTUVWXYZ"]

l1 = ["ABCDEFGHIJKLMNOPQRSTUVWXYZ"]

class Separate:
#Used to separate objects in a list
    def __init__(self, d):
            self.d = d

            self.d = "".join(self.d)
            l = []
            for elt in range(0, len(self.d)):
                    l.append(self.d[elt])
            self.d = l

l1 = Separate(l1)
l1 = l1.d
m1 = Separate(m1)
m1 = m1.d

random.shuffle(m1)

key = {}

count = 0
while count < len(l1):
    key[l1[count]] = m1[count]
    count+=1

print(key)

如评论中所述,
dict
s没有订单。如果您需要<代码> DICT<代码>跟踪订单,请考虑使用<代码>集合。 即:


如评论中所述,
dict
s没有订单。如果您需要<代码> DICT<代码>跟踪订单,请考虑使用<代码>集合。 即:


您可以使用两个字符串文字和zip来执行此操作:

m1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

l1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

key = {}

for m,l in zip(m1,l1):
    key.update({m:l})

print(key)

~

您可以使用两个字符串文字和zip来完成:

m1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

l1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

key = {}

for m,l in zip(m1,l1):
    key.update({m:l})

print(key)

~

与代码的结构无关,但请不要使用小写L(“L”)作为变量-尤其是在1的旁边。字典不跟踪任何排序信息。字典是无序的。阅读您可以使用
字符串
库获取所有字母。例如,
m1=[string.ascii_uppercase]
我就是不明白为什么它看起来是按某种字母顺序排列的,但不是完全的顺序。谢谢你这么快的回答。与你的代码结构无关,但请不要用小写L(“L”)作为变量-尤其是在1旁边。图片不跟踪任何排序信息。字典是无序的。阅读您可以使用
字符串
库获取所有字母。例如,
m1=[string.ascii_uppercase]
我就是不明白为什么它看起来是按某种字母顺序排列的,但不是完全的顺序。谢谢你这么快的回答。非常感谢你的评论,这正是我需要的!非常感谢你的评论,这正是我所需要的!
m1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

l1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

key = {}

for m,l in zip(m1,l1):
    key.update({m:l})

print(key)