我正在使用Python Crash Course文本学习python。我在关于在字典中列出专门用于自己尝试的部分。本文解释了如何在python中访问列表形式的值,当它们是字符串而不是整数时。到目前为止,我已经让我的代码工作了,但它以列表形式打印了两个最喜欢的数字列表。我如何解决这个问题,所以它只打印一次,明显没有括号?
这是我目前的代码。
favorite_numbers = {
'king': ['7','10'],
'jake': ['29','77'],
'mr robot': ['234','1337'],
'elliot': ['1234' ,'89'],
}
for name, number in favorite_numbers.items():
print(
"Hey, "
+ name.title() +
" your favorite numbers are: "
)
for numbers in number:
print(number)
帮助?拜托,谢谢。
答案 0 :(得分:2)
我认为你的命名让你感到困惑。看看您对number
和numbers
的使用情况。固定版本如下。还要查看`print(" foo",end =""),让多个打印语句不要在新行中终止,如果你想清理它输出的外观有点。
favorite_numbers = {
'king': ['7','10'],
'jake': ['29','77'],
'mr robot': ['234','1337'],
'elliot': ['1234' ,'89'],
}
for name, numbers in favorite_numbers.items():
print(
"Hey, "
+ name.title() +
" your favorite numbers are: "
)
for number in numbers:
print(number)
答案 1 :(得分:1)
这将修复您当前的代码:
for numbers in number:
print(numbers)
但它是一种为变量命名的落后方式。怎么样呢?
for name, numbers in favorite_numbers.items():
print(
"Hey, "
+ name.title() +
" your favorite numbers are: "
)
for number in numbers:
print(number)
答案 2 :(得分:0)
您很困惑,因为您有类似命名的变量。在你的情况下,这一行:
for name, number in favorite_numbers.items():
将number
绑定到字典中的连续值。在此示例中,它们特别是包含字符串的列表。
这一行:
for numbers in number:
将numbers
绑定到列表中的连续字符串。
这一行:
print(number)
打印列表,而不是字符串。
试试这个:
for name, list_of_numbers in favorite_numbers.items():
print(
"Hey, "
+ name.title() +
" your favorite numbers are: "
)
for number in list_of_numbers:
print(number)