【发布时间】:2018-05-01 13:09:31
【问题描述】:
这是我目前所拥有的:
def sort_contacts(sort_contacts):
contacts = sorted(sort_contacts.items())
for (k, v) in contacts:
return list([(k,)+ v])
from test import testEqual
testEqual(sort_contacts({"Summitt, Pat":("1-865-355-4320","pat@greatcoaches.com"),
"Rudolph, Wilma": ("1-410-5313-584", "wilma@olympians.com")}),
[('Rudolph, Wilma', '1-410-5313-584', 'wilma@olympians.com'),
('Summitt, Pat', '1-865-355-4320', 'pat@greatcoaches.com')])
testEqual(sort_contacts({"Dinesen, Isak": ("1-718-939-2548", "isak@storytellers.com")}),
[('Dinesen, Isak', '1-718-939-2548', 'isak@storytellers.com')])
###############
这是结果
Test Failed: expected [('Rudolph, Wilma', '1-410-5313-584','wilma@olympians.com'), ('Summitt, Pat', '1-865-355-4320', 'pat@greatcoaches.com')] but got [('Rudolph, Wilma', '1-410-5313-584', 'wilma@olympians.com')]
Pass
如何修复它,使其在联系人库中获取多个键和值
【问题讨论】:
-
欢迎来到 StackOverflow。请阅读并遵循帮助文档中的发布指南。 Minimal, complete, verifiable example 适用于此。在您发布 MCVE 代码并准确描述问题之前,我们无法有效地帮助您。我们应该能够将您发布的代码粘贴到文本文件中并重现您描述的问题。
-
网上有无数的排序教程,还有很多如何重新排列数据集合的例子。参考这些内容后,您究竟在哪里卡住了?
-
您应该使用 yield 或返回整个列表。
-
return [ (k,)+ v for k, v in contacts ] -
@COLDSPEED 谢谢我非常感谢您提供的信息和详细分解您所有有效的方法
标签: python function return return-value