Python 正常';def&x27;函数而不是lambda

Python 正常';def&x27;函数而不是lambda,python,lambda,folium,Python,Lambda,Folium,下面的代码生成一个web地图,地图上的国家按人口着色,其值来自world.json import folium map=folium.Map(location=[30,30],tiles='Stamen Terrain') map.add_child(folium.GeoJson(data=open('world.json', encoding='utf-8-sig'), name="Unemployment", style_function=lambda x: {'fillColor':'

下面的代码生成一个web地图,地图上的国家按人口着色,其值来自world.json

import folium

map=folium.Map(location=[30,30],tiles='Stamen Terrain')

map.add_child(folium.GeoJson(data=open('world.json', encoding='utf-8-sig'),
name="Unemployment",
style_function=lambda x: {'fillColor':'green' if x['properties']['POP2005'] <= 10000000 else 'orange' if 10000000 < x['properties']['POP2005'] < 20000000 else 'red'}))

map.save('file.html')

但是,我想不出如何在
style\u函数中使用它。这是可能的还是lambda函数在这里是不可替代的?

可以用如下函数替换
style\u函数
lambda:

def style_function(x):
    return {'fillColor':'green' if x['properties']['POP2005'] <= 10000000 else 'orange' if 10000000 < x['properties']['POP2005'] < 20000000 else 'red'}))

style_函数
lambda可替换为以下函数:

def style_function(x):
    return {'fillColor':'green' if x['properties']['POP2005'] <= 10000000 else 'orange' if 10000000 < x['properties']['POP2005'] < 20000000 else 'red'}))

如果我理解正确,您需要创建如下函数(
x
是geojson):

def my_style_函数(x):
颜色=“”

如果x['properties']['POP2005']如果我理解正确,您需要创建类似于此的函数(
x
是geojson):

def my_style_函数(x):
颜色=“”

如果x['properties']['POP2005']是指
style\u function=feature
,还是仅
def style\u function
而不是
def feature
style_函数
在哪里使用?另外-您真的希望每次调用该函数时打开并加载json文件吗?当然-您想做一次该部分,然后使用该函数获取
x
的样式,不管是什么…您的意思是
style\u function=feature
?还是仅仅
def style\u function
,而不是
def feature
style_函数
在哪里使用?另外-您真的希望每次调用该函数时打开并加载json文件吗?当然-您想做一次这部分,然后使用该函数获取
x
的样式,不管是什么…
style\u函数被用作
GeoJson
ohhh的
kwarg
,您是对的。格式没有说清楚,谢谢你指出。
style_函数
被用作
GeoJson的
kwarg
,你说得对。格式没说清楚,谢谢你指出。
folium.GeoJson(
    data=...,
    name=...,
    style_function=style_function
)