如何在Python中创建一个包含不同值的动态数组

0 投票
3 回答
1372 浏览
提问于 2025-04-15 11:44

我有一些文件中的行,像这样:

20040701         0  20040701         0      1  52.965366  61.777687  57.540783

我想把这些放进一个动态数组里,如果可以的话?

大概像这样:

try:
    clients = [
        (107, "Ella", "Fitzgerald"),
        (108, "Louis", "Armstrong"),
        (109, "Miles", "Davis")
        ]
    cur.executemany("INSERT INTO clients (id, firstname, lastname) \
        VALUES (?, ?, ?)", clients )
except:
    pass

3 个回答

1

根据我对你问题的理解,我觉得你想要的是类似这样的东西:

rows=[map(Decimal,x.split(' ')) for x in lines]
2
In [1]: s = "20040701 0 20040701 0 1 52.965366 61.777687 57.540783"

In [2]: strings = s.split(" ")

In [3]: strings
Out[3]: ['20040701', '0', '20040701', '0', '1', '52.965366', '61.777687', '57.540783']

In [6]: tuple(strings)
Out[6]: ('20040701', '0', '20040701', '0', '1', '52.965366', '61.777687', '57.540783')

你是在找这种东西吗?我不太确定你的问题是什么意思。

2

你可以很简单地从一个字符串中生成一个数字列表,就像你第一个例子那样,只需要用 [float(x) for x in thestring.split()] 这个写法就行了。不过,"类似于"的部分和第一个例子完全不一样,似乎也和问题的主题没有关系。

撰写回答