python 根据条件快速生成一个新的字典

通常处理dict类型的数据的时候,都是需要根绝字典的key来进行操作
在python中,可以通过特定的方法来进行获取

peoples = {
    '广东省': 104303132,
    '山东省': 95793065,
    '河南省': 94023567,
    '四川省': 80418200,
    '江苏省': 78659903,
    '河北省': 71854202,
    '湖南省': 65683722,
    '安徽省': 59500510,
    '湖北省': 57237740,
    '浙江省': 54426891,
    '广西壮族自治区': 46026629,
    '云南省': 45966239,
    '江西省': 44567475,
    '辽宁省': 43746323,
    '黑龙江省': 38312224,
    '陕西省': 37327378,
    '福建省': 36894216,
    '山西省': 35712111,
    '贵州省': 34746468,
    '重庆市': 28846170,
    '吉林省': 27462297,
    '甘肃省': 25575254,
    '内蒙古自治区': 24706321,
    '台湾地区': 23162123,
    '上海市': 23019148,
    '新疆维吾尔自治区': 21813334,
    '北京市': 19612368,
    '天津市': 12938224,
    '海南省': 8671518,
    '香港特别行政区': 7097600,
    '宁夏回族自治区': 6301350,
    '青海省': 5626722,
    '难以确定常住地': 4649985,
    '西藏自治区': 3002166,
    '澳门特别行政区': 552300,
}
#遍历字典peoples中的key和对应的value
for key,value in peoples.items():
    print(key,'---',value)
#配合find方法或者基础运算符,即可对数据进行处理
#只查询key中包含京字的key和value,并生成一个新的dict
peoples2 = {key: value for key, value in peoples.items() if key.find('京') != -1}
print(peoples2)
#只查询value的值大于5千万的key和value,并生成一个新的dict
peoples3 = {key: value for key, value in peoples.items() if value >5000000}
print(peoples3)
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python 字典生成式(Dictionary Comprehension)可以用一种简洁的语法来创建字典。 基本语法如下: ```python {key:value for key, value in iterable} ``` 其中,`key` 和 `value` 分别表示字典中的键和值,`iterable` 是一个可迭代对象,可以是列表、元组、集合等。通过遍历 `iterable` 中的元素,将每个元素赋值给 `key` 和 `value`,从而生成一个字典。 例如,我们可以通过以下代码创建一个字典,其中键为 1~5 的数字,值为对应数字的平方: ```python d = {i: i**2 for i in range(1, 6)} print(d) ``` 输出结果为: ``` {1: 1, 2: 4, 3: 9, 4: 16, 5: 25} ``` 除了上述基本语法外,字典生成式还可以添加条件表达式。例如,我们可以通过以下代码创建一个字典,其中键为 1~10 的数字,值为对应数字的平方,但只保留值为偶数的项: ```python d = {i: i**2 for i in range(1, 11) if i % 2 == 0} print(d) ``` 输出结果为: ``` {2: 4, 4: 16, 6: 36, 8: 64, 10: 100} ``` ### 回答2: Python字典生成式是一种快速简洁地生成字典的方法,类似于列表生成式。 字典生成式的基本语法为: {key_expression: value_expression for item in iterable if condition} 其中,key_expression表示生成字典的键的表达式,value_expression表示生成字典的值的表达式,item表示可迭代对象的元素,iterable表示可迭代对象,condition表示一个选择条件。 与列表生成式类似,字典生成式可以包含多个for循环和if条件语句。生成字典中的键和值是通过表达式计算得到的。 下面是一个例子: 假设有一个列表numbers = [1, 2, 3, 4, 5],我们想生成一个字典字典的键是列表中的数字,值是数字的平方。 我们可以使用字典生成式来实现: numbers_dict = {num: num**2 for num in numbers} 执行以上代码后,会得到一个字典numbers_dict,其中包含如下键值对: {1: 1, 2: 4, 3: 9, 4: 16, 5: 25} 这个字典的键为列表numbers中的数字,值为对应数字的平方。 使用字典生成式可以简洁地生成字典,并且可以根据需要添加多个for循环和if条件语句来筛选和计算生成的键值对。 ### 回答3: Python 字典生成式是一种简洁而又高效的创建字典的方法。它类似于列表生成式,但使用花括号 {} 来表示字典字典生成式的语法为: {key: value for key, value in iterable} 其中,key 是字典中的键,value 是对应的值,iterable 是一个可迭代对象,例如列表、元组、集合等。 我们可以通过迭代 iterable 中的元素,并使用 key 和 value 初始化字典中的对应键值对。字典生成式在遍历 iterable 中的元素时非常方便,可以根据需要自定义键值对的规则。 下面是一个具体的示例: numbers = [1, 2, 3, 4, 5] squared_dict = {num: num**2 for num in numbers} print(squared_dict) 输出: {1: 1, 2: 4, 3: 9, 4: 16, 5: 25} 在上面的示例中,我们通过一个列表生成式创建了一个字典。遍历 numbers 列表中的元素,为每个元素生成一个键值对,其中键为元素本身,值为元素的平方。 除了简单的映射规则外,字典生成式还可以通过添加条件语句实现更为复杂的筛选和转换。 例如: numbers = [1, 2, 3, 4, 5] even_squares = {num: num**2 for num in numbers if num % 2 == 0} print(even_squares) 输出: {2: 4, 4: 16} 在这个例子中,只有当元素为偶数时,才将其平方添加到字典中。 通过使用字典生成式,我们可以以一种简洁且易读的方式来创建和操作字典,提高代码的可读性和效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值