我有一个问题,我非常感谢您的投入。
我需要使用一个库来工作,但是出于好奇,我想使用另一个库来解决这个问题。
我正在从世界银行API中提取数据并绘制一段时间内的人口图。这正在使用方法1进行工作,但我很好奇让它在第二种方法中工作。
希望这证明我不需要做功课:)我很难解析列表,字典等。
列表1(工作中)=包含包含多个字典(仅包含字典)的列表,其中包含我需要的内容=我可以遍历并提取需要的内容
dIRL_POP = dict([(int(d['date']), float(d['value'])) for d in data if d['value'] is not None])
dIRL_POP是新字典,我在其中循环遍历列表数据d次,并提取字典中的日期和值
码
import wbdata
data = wbdata.get_data("SP.POP.TOTL", country="IRL") #list
dIRL_POP = dict([(int(d['date']), float(d['value']))
for d in data if d['value'] is not None])
评论:dIRL_POP是新字典,在其中我循环遍历列表数据d次并从字典中提取日期和值
列表2(未解决)=列表包含多个词典列表和多个词典。至于第一点,只有字典列表才有意义。如何忽略字典而仅查看列表?
码
uri = 'http://api.worldbank.org/v2/country/irl/indicator/SP.POP.TOTL?format=json'
connIRL= requests.get(uri)
connIRL_response = connIRL.json()
最佳答案
您可以使用isinstance检查元素的类型。
mylist = [[{1: 2, 3:3}], {1: 2, 3:3}, [{2: 3, 4:5}], {2: 3, 4:5}]
list_of_lists = [elem for elem in mylist if isinstance(elem, list)]
print(list_of_lists)
[[{{1:2,3:3}],[{2:3,4:5}]]