python - 通过组合字符串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"]
解决方案
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']