首页 > 解决方案 > 根据另一个数组的值打印一个数组的值

问题描述

我正在尝试根据布尔表打印出每个法院可用的时间,但是,与每个布尔值对应的时间保存在另一个表中。所以我的问题是如何根据另一个表打印一个表中的值。这是到目前为止的代码:

times = {
  "times1": ["8","9","10","11","12","13","14","15","16","17"],
  "times2": ["8","9","10","11","12","13","14","15","16","17"],
  "times3": ["8","9","10","11","12","13","14","15","16","17"],
  "times4": ["8","9","10","11","12","13","14","15","16","17"],
  "times5": ["8","9","10","11","12","13","14","15","16","17"],
  "times6": ["8","9","10","11","12","13","14","15","16","17"],
  "times7": ["8","9","10","11","12","13","14","15","16","17"],
  "times8": ["8","9","10","11","12","13","14","15","16","17"]
access = {
  "access1": [True,False,False,True,True,False,False,False,True,True],
  "access2": [False,False,True,True,False,False,False,False,True,True],
  "access3": [False,False,False,True,True,False,True,False,True,False],
  "access4": [True,True,False,True,True,True,False,False,True,True],
  "access5": [True,False,False,True,True,False,False,False,True,False],
  "access6": [True,False,False,True,True,False,True,True,False,True],
  "access7": [True,True,True,True,True,False,False,False,True,True],
  "access8": [True,False,True,True,False,False,False,False,True,True]
  for i in access:
    if access[i] == False:
      print(times[i])

如果访问为 False,则应打印对应于该布尔值位置的时间

标签: pythonarraysstringprintingboolean

解决方案


您只是在遍历字典,而不是每个字典条目中的值列表。所以access[i]将是一个布尔值列表,而不是一个布尔值,并且与的比较False总是会失败。

你需要嵌套循环。

for a, t in zip(access.values(), times.values()):
    for a1, t1 in zip(a, t):
        if not a1:
            print(t1, end=' ')
    print()

推荐阅读