Whalefall126 发表于 2023-8-13 20:39:50

for循环

题目:
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 =


我的解答:
q10_keys = ["John", "Danise", "David", "Kelly", "Emma", "Olivia"]
q10_values =

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

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

我感觉题目不是要的这种格式的列表,但我不知道怎么弄成题目想要的列表格式
求大佬解答

学习编程中的Ben 发表于 2023-8-13 20:40:06

问题解析:

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

解决方案:

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

下面是按照你的要求进行修改后的完整代码:

q10_keys = [\John\, \Danise\, \David\, \Kelly\, \Emma\, \Olivia\]
q10_values =

output10 = {}
for key, value in zip(q10_keys, q10_values):
    output10 = value

print(output10)


这段代码会输出一个格式正确的字典:


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


这样就达到了题目要求的格式。这里使用了zip函数来同时遍历两个列表的元素,然后将每个键和对应的值添加到字典中。这种方式更简洁而且避免了手动计数。

isdkz 发表于 2023-8-13 20:40:11

你的解答已经很接近正确答案了,只需要稍作修改就可以得到题目要求的字典格式。以下是修改后的代码:

q10_keys = ["John", "Danise", "David", "Kelly", "Emma", "Olivia"]
q10_values =

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

print(output10)


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

希望能帮到你!如果你还有其他问题,请随时提问。

陶远航 发表于 2023-8-13 20:40:29

你的答案已经很接近题目要求了,只需要稍作修改即可。题目要求将两个列表转换成一个字典,其中 q10_keys 列表中的元素作为字典的键,q10_values 列表中的元素作为字典的值。

以下是修改后的代码:

q10_keys = ["John", "Danise", "David", "Kelly", "Emma", "Olivia"]
q10_values =

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

print(output10)


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

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

希望这可以帮助到你!如果还有其他问题,请随时提问。
如果问题已经解决,请设置最佳答案

smallwh 发表于 2023-8-13 20:59:29

题目要求将两个列表转换为一个字典(不是列表),没有提到是否要使用for循环
不用for循环就可以解决:
q10_keys = ["John", "Danise", "David", "Kelly", "Emma", "Olivia"]
q10_values =
output10 = dict(zip(q10_keys,q10_values))
print(output10)
页: [1]
查看完整版本: for循环