python-3.x - 如何使用 join() 输出?
问题描述
我想用 join() 输出字符串。我怎么能用这个?
这是我的代码。
data_list = [{'A': 'a', 'B': 'b', 'C': 'c'}, {'A': 'a', 'B': 'b', 'C': 'c'}]
A_list = set()
for data in data_list:
A = data['A']
A_list.add(A)
for A in A_list:
B_list = []
C_list = []
for data in data_list:
if data['A'] == A:
B = data['B']
C = data['C']
B_list.append(B)
C_list.append(C)
print('\n[{}]'.format(A))
print('' + '\n' .join(B_list) + ' host=' + ' '.join(C_list))
这是它的输出。
[a]
b
b host=c c
[a]
b
b host=c c
但我想得到如下结果。
[a]
b host=c
b host=c
[A]
b host=c
b host=c
我想如果我创建与“B”一样多的“主机”列表,那么我可以使用 join() 来插入“主机”,但实际数据比上面的要多得多,我不确定每个字典中有多少变量.
有任何想法吗?
此外,此输出将用于 ansible 库存文件。
谢谢你的帮助!
解决方案
为什么需要加入?你不能只使用:
print(B_list[0]+' host='+C_list[0])
这将输出:
b host=c
这不是您要求的大写 b 和 c 但可以通过修改原始B_list
and来实现C_list
。
提取多行:
for x in range(len(B_list)):
print(B_list[x]+' host='+C_list[x])
推荐阅读
- php - 我获取最后插入 ID 的代码有什么问题?
- python - 检查方法是否被导入,从 X 导入 Y
- java - Spring Cloud Bus Kafka Bean 配置
- excel - 在 Excel 中使用 Sumif 公式时出现错误
- php - 如何修复未定义的偏移量:2?
- xml - XMPP 中 Stanza ID 的用途是什么?
- cvxpy - 关于 cvxpy 的一些令人困惑的结果
- machine-learning - 客户-代理配对的最佳 ML 算法是什么?
- css - 如何设置 React-Select 组件的样式以获得以下结构?
- android - 为什么我的 this.setState 在函数中不起作用?