python - 在Python中从列表构建字符串

标签 python list

 [['Demo-Site', '10.227.209.139'], ['Demo-Site', '10.227.215.68'], 
['Demo-Site', '172.18.74.146'], ['Site', '10.152.114.65'], 
['Site', '10.227.211.244'], ['Demo-Site', '10.227.147.98'], 
 ['test', '172.18.74.146']]

如何根据第一个索引是否相同将所有 IP 连接起来形成一个大字符串?我要制作默认词典吗?

应该是:

["Site", "10.227.211.244, 10.152.114.65"]

最佳答案

这里,使用基于 defaultdict 的解决方案:

In [1]: list_of_ips = [['Demo-Site', '10.227.209.139'], ['Demo-Site', '10.227.215.68'], 
   ...: ['Demo-Site', '172.18.74.146'], ['test', '10.152.114.65'], 
   ...: ['Site', '10.227.211.244'], ['Demo-Site', '10.227.147.98'], 
   ...:  ['test', '172.18.74.146']]

In [2]: from collections import defaultdict

In [3]: resp_dict = defaultdict(list)

In [4]: for item in list_of_ips:
   ...:     resp_dict[item[0]].append(item[1])
   ...:     

In [5]: result = [[key, ", ".join(resp_dict[key])] for key in resp_dict]

In [6]: result
Out[6]: 
[['test', '10.152.114.65, 172.18.74.146'],
 ['Site', '10.227.211.244'],
 ['Demo-Site', '10.227.209.139, 10.227.215.68, 172.18.74.146, 10.227.147.98']]

关于python - 在Python中从列表构建字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32018520/

相关文章:

python - 如何在Python中切片后在SQL中获取查询结果中的记录总数

python - Python 中有内置的 product() 吗?

Python - 按不均匀列表对元组列表进行排序

python - 如何将数据框行分组到 Pandas groupby 中的列表中

Python:将字典中的变量加载到命名空间中

python - “元组”对象没有属性 'mode'

python - 如何从调色板中进行颜色渐变

python + Tornado : 404 on imported request handler

python - 提高列表创建的性能

python - 在 Python 中从列表中删除元素的简单方法