Python-字母,数字和组合

时间:2018-12-19 02:34:31

标签: python numeric alphabetical

我在python中有一个包含字母和数字的列表,所有这些都是带有数据的资产的ID。
我需要实现以下目标:

  1. 在两个单独的列表中将字母和数字分开。
  2. 使用列表从两个单独的SQL数据库获取数据。
  3. 将字母和数字ID以及我为这两者获得的数据一起放回去。

我知道第二点并不精确,我可以做到:第一点和最后一点造成了真正的困难。

谢谢!

2 个答案:

答案 0 :(得分:0)

您可以先克隆原始列表,然后对克隆列表进行任何操作。获取数据后,使用原始列表进行排序以将两个列表连接在一起

答案 1 :(得分:0)

似乎您想对列表中的每个值运行查询,如果当前值是数字,则使用一个查询,如果当前值是字符串,则使用另一个查询。

您可以通过遍历输入,对每个值运行适当的查询并保留结果列表来实现此目的。

假设您具有函数queryNumberqueryString,它们分别与数据库交互,这是解决此问题的示例:

data = [82, 6, 6, 2, 7, 1, 149, 139, 3, 'VWO', 'IWF', 'VEA', 2]
results = []

for x in data:
    if isinstance(x, str):
        result = queryString(x)
    elif isinstance(x, int) or isinstance(x, float):
        result = queryNumber(x)
    results.append(result)

full_results = data + results

示例full_results

[82, 6, 6, 2, 7, 1, 149, 139, 3, 'VWO', 'IWF', 'VEA', 2, 'result for 82', 'result for 6', 'result for 6', 'result for 2', 'result for 7', 'result for 1', 'result for 149', 'result for 139', 'result for 3', "result for 'VWO'", "result for 'IWF'", "result for 'VEA'", 'result for 2']