0

在 Python 中,如果我将列表定义为 xx = [1,2,3,4],那么我可以将该(向量)中的数据引用为 xx[0] 并获得 1、xx[1] 并获得 2 等。

如果我有一个包含 csv 的数据文件...数据文件是 --> xx,1,2,3,4 有没有办法让我读取数据文件,并将数据文件 (xx) 的第一个元素命名是 [1,2,3,4] 的向量?我希望能够将 xx[0] 视为 1,将 xx[1] 视为 2,等等。

这是所有 Python 列表,而不是字典 - 我希望尽可能简单。

4

2 回答 2

1

可以这样做,但真正的问题是,你应该这样做吗?答案很简单,不。动态变量名是一个麻烦的秘诀,你最好使用字典。它将使您的代码更简单,而不是更复杂。一个简单的做法是:

data['xx'][0]

使用csv模块加载您的数据,然后构建一个字典。这可以是一个简单的字典理解

with open('data.csv') as file:
    reader = csv.reader(file)
    data = {key: values for key, *values in reader}

如果您确实需要订单,那么您可以使用collections.OrderedDict来完成这项工作。

data = collections.OrderedDict((key, values) for key, *values in reader)

请注意,这种漂亮的解包语法仅适用于 3.x,因此对于 2.x,您将需要按照 .x 行做更多的事情{line[0]: line[1:] for line in reader}

于 2012-12-20T00:13:26.157 回答
0

您应该从查看 Python 的csv库开始。

于 2012-12-20T00:13:33.667 回答