如何在Python中为每个多维数组获取单个值。我尝试使用for
循环进行打印。
[dict_keys(['section_001', 'section_002', 'section_003']), dict_keys(['section_001', 'section_002', 'section_003']), dict_keys(['section_001', 'section_002', 'section_003']), dict_keys(['section_001', 'section_002', 'section_003']), dict_keys(['section_001']), dict_keys(['section_001']), dict_keys(['section_003', 'section_004', 'section_007', 'section_008', 'section_002', 'section_006', 'section_005', 'section_001']), dict_keys(['section_003', 'section_004', 'section_007', 'section_008', 'section_002', 'section_006', 'section_005', 'section_001']), dict_keys(['section_001', 'section_002', 'section_003']), dict_keys(['section_001', 'section_002', 'section_003'])]
预期结果应该是:
section_001
section_002
每个数组。
答案 0 :(得分:2)
预期结果应为:每个数组的section_001 section_002
在Python3中,您无法以与list
相同的方式对view之类的dict.keys
进行切片。但是您可以使用itertools.islice
来切片任何可迭代的结果,并将结果提供给list
。这是一个演示:
from itertools import islice
d = dict.fromkeys([f'section_00{i}' for i in range(1, 4)])
L = [d.keys() for _ in range(3)]
res = [list(islice(x, 0, 2)) for x in L]
# [['section_001', 'section_002'],
# ['section_001', 'section_002'],
# ['section_001', 'section_002']]
答案 1 :(得分:1)
将其分配给x
,然后打印x[0]
将得到一个值。
请修改您的问题。
就目前而言,您还没有向我们提供dict_keys
上的详细信息。您可能会发现https://stackoverflow.com/help/mcve会有所帮助。
在调试过程中,您可能还会发现漂亮打印机有用:
import pprint
pprint.pprint(x)