首页 > 解决方案 > 通过组合字符串python调用变量

问题描述

我有 2 个相互依赖的列表,就像一个人一样,他/她来自哪里。我想根据他们来自哪里来分组。

People = ["A","B","C","D","E","F"]
City = ["Bombay","Delhi","Pune","Pune","Bombay","Pune"]

在这里,A 来自孟买,B 来自德里,等等。我想将所有来自孟买的人归为一组,将德里的所有人归为一组,将浦那的所有人归为一组。然后我想为每个组分配一些任务,比如来自孟买的人将执行任务 X,来自德里的人将执行任务 Y,来自浦那的人将执行任务 Z。我如何在 python 中做到这一点?

一个组就像一个列表。例子:

Bombay = ["A","E"]
Delhi = ["B"]
Pune = ["C","D","F"]

标签: pythonlist

解决方案


使用itertools.groupby

from itertools import groupby

data = sorted(zip(People, City), key=lambda x: x[1])
for k, g in groupby(data, key=lambda x: x[1]):
    g = [x[0] for x in g]
    print(f'{k} = {g}')

输出:

Bombay = ['A', 'E']
Delhi = ['B']
Pune = ['C', 'D', 'F']

推荐阅读