Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何拆分Python列表_Python_Dictionary - Fatal编程技术网

如何拆分Python列表

如何拆分Python列表,python,dictionary,Python,Dictionary,我正在查询一个融合表并获取列表中的所有信息。现在我想拆分这些列表。为了让您更好地了解,我的fusion表有以下列-USStates、NOFU2008、NOFU2009、NOFU2010、12MI%、24MI%、USStateCode。这是我的密码- service = build('fusiontables', 'v1', developerKey=API_KEY) query = "SELECT * FROM " + TABLE_ID response = service.query().sq

我正在查询一个融合表并获取列表中的所有信息。现在我想拆分这些列表。为了让您更好地了解,我的fusion表有以下列-USStates、NOFU2008、NOFU2009、NOFU2010、12MI%、24MI%、USStateCode。这是我的密码-

service = build('fusiontables', 'v1', developerKey=API_KEY)
query = "SELECT * FROM " + TABLE_ID
response = service.query().sql(sql=query).execute()
data = response['rows']
这将以以下格式返回数据-

[[u'Alabama', 290060.0, 694020.0, 1452300.0, 1.093, 4.007, u'US-AL'], [u'Alaska', 46400.0, 160760.0, 300840.0, 0.871, 5.484, u'US-AK'], [u'Arizona', 320320.0, 1017020.0, 2234400.0, 1.197, 5.976, u'US-AZ']]
从这里我只想把数据过滤成不同的变量。比如说,

var data2008 - [[u'US-AL', 290060.0], [u'US-AK', 46400.0], [u'US-AZ', 320320.0], [u'US-AR', 295280.0]]

我该怎么做?我知道我必须通过
for
循环运行数据,并将状态代码和NOFU2008添加到一个新列表中。

我认为你这样做是错误的,正如另一个答案所暗示的,但是如果你必须这样做的话

data2008 = {x[-1]:x[1] for x in data}
# {u'US-AL': 290060.0, u'US-AK', 46400.0, ...}
# data2008["US-AL"] == 290060.0
## NOTE THAT DICTIONARIES ARE UNORDERED -- IF YOU NEED TO KEEP THE
## ORDER FOR ANY REASON OTHER THAN DISPLAYING IT TO THE USER (FOR
## WHICH for line in sorted(data2008) WILL WORK PERFECTLY, DO NOT
## DO THIS
导致

[[u'US-AL', 290060.0], [u'US-AK', 46400.0], [u'US-AZ', 320320.0]]

您至少应该先尝试,然后向我们展示您的尝试。@2rs2ts-我尝试过执行两个查询,一个是使用USStateCode的NOFU2008查询,另一个是使用USStateCode的NOFU2009查询。但这并不奏效。我没有发布,因为您将无法运行它并测试它,为什么它对我不起作用。我还认为这种替代方法也是合理的。
[[u'US-AL', 290060.0], [u'US-AK', 46400.0], [u'US-AZ', 320320.0]]