如何在Python中创建一个包含不同值的动态数组
我有一些文件中的行,像这样:
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()]
这个写法就行了。不过,"类似于"的部分和第一个例子完全不一样,似乎也和问题的主题没有关系。