我在尝试从两个列表创建词典时遇到了一些问题。你知道吗
我想把它作为输出。你知道吗
{1: {'name1', 'age1'}, 2: {'name2', 'age2'}, 3: {'name3', 'age3'}}
我目前的代码:(我是一个新的编码,所以这是一个混乱和非常有效的,是的,我意识到我运行的所有代码低于5倍)
def Update():
for r in range(1,5):
v1list.append(StringVar())
v2list.append(StringVar())
NameEntry = Entry(root, textvariable=v1list[r-1]).grid(row = r, column = 0, sticky=W)
AgeEntry = Entry(root, textvariable=v2list[r-1]).grid(row = r, column = 4, sticky=W)
for var1, var2 in ((a,b) for a in v1list for b in v2list):
UserInput[r] = {var1.get(), var2.get()}
print(UserInput)
输出不断向前推动var1和var2,结果如下:
{1: {''}, 2: {''}, 3: {''}, 4: {''}}
我确实看到了所有的输入,它们只是在字典里继续前进。你知道吗
希望这能解决你的问题。你知道吗
尝试通过dictionary comprehension创建字典:
它比for循环更干净,并且保持可读性。本质上,它遍历列表中的每一项(假设列表具有相同的长度),并为每个列表中的每一项创建一个
{name, age}
字典,将索引号(+1跳过0)指定为该字典的键。你知道吗一些新的python用户很难理解list和dict语法,因此,如果您更喜欢将其视为循环,这可以实现同样的效果:
相关问题 更多 >
编程相关推荐