为了账号安全,请及时绑定邮箱和手机立即绑定

获取循环的迭代以在同一行上输出

获取循环的迭代以在同一行上输出

MYYA 2021-09-11 19:23:11
我需要输入一系列文本,并将它们与数字和一些格式组合在一起。问题是我不知道这一系列输入事先会有多少个元素。我知道这对于一定数量的输入很容易做到,但我需要一个可以根据需要迭代尽可能多的函数。所以基本上我需要取'苹果香蕉樱桃......'和'5'并输出:str('{"apple": 5, "banana": 5, "cherry": 5, "...": 5}')这是我到目前为止:print("Enter fruits:")fruits = [x for x in input().split()]print("Enter Maximum Fruits per Day")maxfruit = input()def maxfruitfuncstep1(x,y):    return str('"' + x + '"' + ": " + y)for i in fruits:     print("{" + maxfruitfuncstep1(i,maxfruit) + "}")但这只是给了我输出:{"apple": 5}{"banana": 5}{"cherry": 5}如何让函数在打印输出中水平运行?我试过使用 ",".join 但这只是给了我:",a,p,p,l,e,",:, ,5
查看完整描述

2 回答

?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

这就是你想要的:


fruits = ["apple", "banana", "cherry"]

maxfruit ="5"

print("{" + ", ".join(fruit + ": " + maxfruit for fruit in fruits) + "}")

另一种解决方案很简单:


repr({fruit: maxfruit for fruit in fruits})


查看完整回答
反对 回复 2021-09-11
?
慕丝7291255

TA贡献1859条经验 获得超6个赞

一种方法是这样的:


fruits = ['banana', 'strawberry', 'cherry']


max_num = 5


from collections import defaultdict


result = defaultdict(dict)


for x in fruits:

    result[x] = max_num


str(dict(result))


"{'banana': 5, 'strawberry': 5, 'cherry': 5}"


查看完整回答
反对 回复 2021-09-11
  • 2 回答
  • 0 关注
  • 135 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信