鱼C论坛

 找回密码
 立即注册
查看: 1890|回复: 4

for循环

[复制链接]
发表于 2023-8-13 20:39:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
题目:
Write a Python program to convert the following two lists into a dictionary called output10.
q10_keys = ["John", "Danise", "David", "Kelly", "Emma", "Olivia"]
q10_values = [12, 10, 9, 19, 30, 33]


我的解答:
q10_keys = ["John", "Danise", "David", "Kelly", "Emma", "Olivia"]
q10_values = [12, 10, 9, 19, 30, 33]

j = 0
output10 = []
for i in q10_keys:
    output10.append(f'{i}: {q10_values [j]}')
    j += 1
print(output10)

得到:
['John: 12', 'Danise: 10', 'David: 9', 'Kelly: 19', 'Emma: 30', 'Olivia: 33']

我感觉题目不是要的这种格式的列表,但我不知道怎么弄成题目想要的列表格式
求大佬解答
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-8-13 20:40:06 | 显示全部楼层
问题解析:

你的初始尝试已经非常接近正确答案,但你确实注意到了输出格式与预期的字典格式不一致。题目要求你将两个列表转换成一个字典,其中q10_keys中的元素作为字典的键,而q10_values中的元素作为对应的值。你可以使用循环来逐个匹配键和值,然后构建一个字典。

解决方案:

你可以通过在循环中使用zip函数来同时迭代两个列表,并且使用这些值创建字典。同时,建议避免手动计数索引,因为这样容易出错,特别是在更复杂的情况下。

下面是按照你的要求进行修改后的完整代码:
q10_keys = [\John\, \Danise\, \David\, \Kelly\, \Emma\, \Olivia\]q10_values = [12, 10, 9, 19, 30, 33]output10 = {}for key, value in zip(q10_keys, q10_values):    output10[key] = valueprint(output10)
这段代码会输出一个格式正确的字典:

[/code]
{'John': 12, 'Danise': 10, 'David': 9, 'Kelly': 19, 'Emma': 30, 'Olivia': 33}
[/code]

这样就达到了题目要求的格式。这里使用了zip函数来同时遍历两个列表的元素,然后将每个键和对应的值添加到字典中。这种方式更简洁而且避免了手动计数。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-13 20:40:11 | 显示全部楼层
你的解答已经很接近正确答案了,只需要稍作修改就可以得到题目要求的字典格式。以下是修改后的代码:
q10_keys = ["John", "Danise", "David", "Kelly", "Emma", "Olivia"]
q10_values = [12, 10, 9, 19, 30, 33]

output10 = {}
for i in range(len(q10_keys)):
    output10[q10_keys[ i]] = q10_values[ i]

print(output10)

这段代码使用了一个for循环来遍历 q10_keys 列表的索引,然后将对应的键值对添加到 output10 字典中。最后打印出 output10 字典,即可得到题目要求的格式。

希望能帮到你!如果你还有其他问题,请随时提问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-13 20:40:29 | 显示全部楼层
你的答案已经很接近题目要求了,只需要稍作修改即可。题目要求将两个列表转换成一个字典,其中 q10_keys 列表中的元素作为字典的键,q10_values 列表中的元素作为字典的值。

以下是修改后的代码:
q10_keys = ["John", "Danise", "David", "Kelly", "Emma", "Olivia"]
q10_values = [12, 10, 9, 19, 30, 33]

output10 = {}
for i in range(len(q10_keys)):
    output10[q10_keys[ i]] = q10_values[ i]

print(output10)

在这个修改后的代码中,我们创建了一个空字典 output10,然后使用 for 循环和索引来同时迭代两个列表。在每次迭代时,我们将 q10_keys 列表中的元素作为键,q10_values 列表中对应位置的元素作为值,将它们逐一添加到 output10 字典中。

最后,我们打印输出这个字典,它应该符合题目所要求的格式。

希望这可以帮助到你!如果还有其他问题,请随时提问。
如果问题已经解决,请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-13 20:59:29 | 显示全部楼层
题目要求将两个列表转换为一个字典(不是列表),没有提到是否要使用for循环
不用for循环就可以解决:
q10_keys = ["John", "Danise", "David", "Kelly", "Emma", "Olivia"]
q10_values = [12, 10, 9, 19, 30, 33]
output10 = dict(zip(q10_keys,q10_values))
print(output10)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-25 21:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表