【问题标题】:How Do I Parse A Python Tuple To Print Each Value On New Line?如何解析 Python 元组以在新行上打印每个值?
【发布时间】:2017-04-26 19:40:57
【问题描述】:

假设我有一个这样的 Python 字典:

GroupName [('G:', 'G:/path/to/folder1', 'Full Access'), ('G:', 'G:/path/to/folder2', 'Full Access'), ('G:', 'G:/path/to/folder3', 'Full Access')]

如何循环遍历它以在新行上打印每个条目,如下所示:

GroupName G:/path/to/folder1 Full Access
GroupName G:/path/to/folder2 Full Access
GroupName G:/path/to/folder3 Full Access

我知道你可以做到

for k,v in GroupName.items:
    print k,v

导致

GroupName [('G:', 'G:/path/to/folder1', 'Full Access'), ('G:', 'G:/path/to/folder2', 'Full Access'), ('G:', 'G:/path/to/folder3', 'Full Access')]

但我不确定如何进一步解析 v 以单独打印值。

我们将不胜感激。

谢谢!

【问题讨论】:

  • 那不是字典。字典有大括号和冒号。
  • @ChrisC type 是什么组搜索?
  • @af3ld 是字典类型

标签: python dictionary tuples


【解决方案1】:

您正在尝试打印元组列表。你可能想做类似的事情

for e in GroupName:
    print("GroupName " + e[1] + " " + e[2])

【讨论】:

    【解决方案2】:

    您的问题是您没有处理字典,这里没有键值对。您拥有的是一个元组列表:存在两种不同的数据类型。您将需要遍历组列表,并处理每个组元组的值。

    这会产生您想要的结果:

    group_name = [('G:', 'G:/path/to/folder1', 'Full Access'), ('G:', 'G:/path/to/folder2', 'Full Access'), ('G:', 'G:/path/to/folder3', 'Full Access')]
    
    for group in group_name:
        print(*(group_property for group_property in group))
    

    这会使用for group in group_name 循环遍历列表,并使用print(*(group_property for group_property in group)) 解包并打印构成列表中每个元素的元组

    【讨论】:

    • 我试过了,它返回了多个如下所示的行: at 0x00000000067C5510>
    • 实际上它们是键值对。如果您查看我的第一个代码 sn-p,GroupName 是键,文件夹信息是值。我在 GroupSearch print k,v 中使用 for k,v 验证了这一点
    • 您的第一个代码 sn-p 没有显示字典,它显示了一个类名(我假设它是一个非常规命名的变量),后跟一个空格,然后是一个列表。字典是在 python 中使用{key: value} 定义的。我认为在我能正确回答这个问题之前,需要对你想要做的事情做更多的澄清。
    猜你喜欢
    • 2017-06-29
    • 1970-01-01
    • 1970-01-01
    • 2013-12-09
    • 1970-01-01
    • 2020-06-17
    • 2022-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多