Python仅用for循环与if条件处理含列表值字典的提取及筛选问题
原始参考字典
Data = {'USA':[100,250],'Canada':[481,660],'China':[245,700],'Italy':[878,828],'Germany':[643,454]}
问题1:仅用for循环提取所有列表元素生成新列表
如果是提取每个国家对应列表的全部元素,代码实现如下:
new_list = [] # 遍历字典的所有值(即各个国家对应的列表) for country_data in Data.values(): # 遍历每个列表的元素,追加到新列表 for num in country_data: new_list.append(num) print(new_list)
运行输出结果为:[100, 250, 481, 660, 245, 700, 878, 828, 643, 454]
注:你给出的预期输出存在元素缺失,如果是有额外筛选规则可以补充说明。
问题2:仅用for循环和if条件筛选首元素大于500的国家
Country_list = [] # 遍历字典的键值对 for country, nums in Data.items(): # 判断列表第一个元素是否大于500 if nums[0] > 500: Country_list.append(country) print(Country_list)
运行输出结果为:['Italy', 'Germany'],和预期一致。
内容的提问来源于stack exchange,提问作者Skylimit
相关产品推荐
相关产品推荐

