我有一个条件,我正在检查列表中的每个元素,如果条件变为真,我想在几个变量之一中递增计数器的值。这是我的例子:
for el in elements:
if sum(x, el) < 5:
.........DO SOMETHING: Increment variable age
现在,如果我想在元素中增加与el相关的变量,我该怎么做呢。所以,例如,如果el是年龄,然后我想增加一个年龄变量怎么做呢?
我可以通过编写大量的switch语句来做到这一点,但是最狡猾的方法是什么。
由于
修改
我要做的是每个元素都是一组城市的坐标(Long,Lat),每一个我都在计算距离事件的距离。我将使用geopy。
现在每个元素都是坐标而不是城市名称。我想说的是,如果事件距纽约坐标不到5公里,可以增加纽约变量,或者距离伦敦5公里,以增加伦敦变量。
希望这会让它更清晰。
答案 0 :(得分:5)
[el if sum(x, el) < 5 else el + 1 for el in elements]
编辑:从您的编辑中,我不确定您所描述的内容与您最初所说的内容相符,您的编辑内容更符合此类内容:
cities = {"London": (10, 15), "New York": (20, 50)}
def find_closest_city(location):
...
city_count = collections.Counter([find_closest_city(el) for el in elements])