Python 迭代列表时递增变量计数器

Python 迭代列表时递增变量计数器,python,python-2.7,Python,Python 2.7,我有一个条件,我正在检查列表中的每个元素,如果这个条件变为真,我想在几个变量中增加一个计数器的值。下面是我的例子: for el in elements: if sum(x, el) < 5: .........DO SOMETHING: Increment variable age 对于el in元件: 如果总和(x,el)

我有一个条件,我正在检查列表中的每个元素,如果这个条件变为真,我想在几个变量中增加一个计数器的值。下面是我的例子:

for el in elements:
    if sum(x, el) < 5:
        .........DO SOMETHING: Increment variable age
对于el in元件:
如果总和(x,el)<5:
……做点什么:增加可变年龄
现在,如果我想增加与元素中el相关的变量,我将如何做呢。举个例子,如果el是age,然后我想增加一个age变量,怎么做

我可以通过编写大量switch语句来实现这一点,但最具python风格的方式是什么呢

谢谢

编辑

我想做的是,每个元素都是一个城市的坐标集(长,纬度),对于每个元素,我都在计算距离事件的距离。我将使用geopy

现在,因为每个元素都不是城市名称。我想说的是,如果事件距离纽约坐标小于5km,则增加纽约变量,或者如果事件距离伦敦5km,则增加伦敦变量

希望这能让事情变得更清楚。

这是一个:


你能提供一个输入列表的例子,或者一个或两个计数器吗?从您的示例中,看起来您正在遍历一个数字列表,因此很难看出
age
和另一个变量之间的区别在哪里发挥作用。您是否有另一个列表指定与特定变量相关的特定索引位置?您的“比较”集是如何组织的?例如,它是否是一本包含城市及其坐标的字典,并带有相应的(纬度,经度)(例如
{'newyork':(x,y)}
),如果是,您将计数器变量存储在何处/如何存储?相同的结构还是其他地方?我正在考虑将它们存储在另一个列表中。我可以像上面一样将它们存储在dict中,作为newyork键的进一步值,然后迭代dict,如果条件为true,则增加变量。在字典数据结构中是否有可能?是否有可能对(比如)真实条件做出多条语句;e、 g.如果if语句为真,则更改两个变量?@poplitea您必须给出一个示例情况,但如果需要,可以使用类似这样的方法进行非常复杂的操作(通常答案在
itertools
模块中)。@Lattyware,我的编辑希望能从原始版本中更清楚地说明这一点。因此,函数find_nextest_city(location)将遍历城市中的所有坐标值,如果条件为真,那么如何确保相关城市的计数器已递增?就像在哪里会存储变量计数器一样?@user94628`collections.Counter()``对象是一个字典式的对象,每个城市的计数都与城市名称相同。酷……我对Python比较陌生。没有听说过收集。所以每次它发现附近有一个城市,它就会增加计数,例如city_count{‘纽约’:3,‘伦敦’:6,‘洛杉矶’:7}。那么它不是:city\u count=collections.Counter([为城市中的el查找最近的城市(el))吗?
[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])