gpt4 book ai didi

Python:如何一次将多个键传递给字典

转载 作者:太空宇宙 更新时间:2023-11-03 17:16:21 24 4
gpt4 key购买 nike

我正在使用 csv.DictReader 读取 .csv 文件。

csv.DictReader 有一个迭代器,它将每一行作为 dict 返回,我知道如何使用列的标题获取单列值:

CsvReaderRow[' D0']
CsvReaderRow[' D1']
CsvReaderRow[' D2']
CsvReaderRow[' D3']
CsvReaderRow[' D4']
CsvReaderRow[' D5']
CsvReaderRow[' CLOCK']
CsvReaderRow[' FRAME']

但是有没有一种方法可以用一条语句取出一堆列呢?我想做

CsvReaderRow[(' D0', ' D1', ' D2', ' D3', ' D4', ' D5')]

并获取这些键值的列表,但它给了我KeyError

我知道它正在尝试对元组进行哈希处理,但这不是我想要的。

可以创建一个DX列表,然后使用for el in key_list来索引到字典中,但我想知道是否有一种更Pythonic的方式来做到这一点。

最佳答案

如上所述,以下方法应该可以很好地工作:

import csv

required = ['D0', 'D1', 'D2', 'D3', 'D4', 'D5']
entries = []

with open('input.csv', 'rb') as f_input:
for dict_row in csv.DictReader(f_input):
entries.append([dict_row[col] for col in required])

或者更简洁一点:

with open('input.csv', 'rb') as f_input:
entries = [[dict_row[col] for col in required] for dict_row in csv.DictReader(f_input)]

在 Python 2.7.9 中测试

关于Python:如何一次将多个键传递给字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33641452/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com