【发布时间】:2021-10-17 20:33:12
【问题描述】:
我正在学习 python,目前正在学习字典和链图。下面是我的代码-
import collections
def dict1():
global dt1
dt1 = {}
r1 = int(input("Enter size of dictionary:"))
for i in range(r1):
c = input("Enter key name:")
b = input("Enter key value:")
dt1[c] = b
print(dt1)
def dict2():
global dt2
dt2 = {}
r2 = int(input("Enter size of dictionary:"))
for j in range(r2):
z = input("Enter key name:")
y = input("Enter value:")
dt2[z] = y
print(dt2)
def main():
dict1()
dict2()
chain = collections.ChainMap(dt1, dt2)
print(chain.maps, '\n')
if __name__=="__main__":
main()
我想问是否有一种方法可以创建一个“for”循环,以便根据用户要求创建尽可能多的字典,然后一次一个或一个全部将它们全部添加到 ChainMap。
【问题讨论】:
-
代替多个全局变量 "dt1", "dt2",... 您可以将列表存储在一个全局变量中并向其附加新的字典。
-
您需要的只是一个根据用户输入创建字典的函数,而不是多个函数和全局变量。然后调用该函数两次以在 main 中创建 dt1 和 dt2,即
dt1 = create_dict(); dt2 = create_dict()。
标签: python python-3.x loops dictionary collections