我正在编写一个名为everyone_sign()
的Python函数,它获取一个名称列表并返回一个字典,其中键是名称,值是仅由其他名称签名的再见消息。姓名密钥不能在自己的卡上签名。我的问题是如何为每次迭代输出除当前键以外的所有名称
到目前为止我已经
def everyone_sign(names):
message = "Thank You!, Your Friends, "
space = ", "
message_Dict = {}
for i in range(len(names)):
message = message + names[i] + space
for j in range(len(names)):
message_Dict[names[j]] = message
return message_Dict
n = ["Mike", "Dan", "Stan", "Max", "Rad", "Ned"]
print(everyone_sign(n))
这将产生以下输出:
{'Dan': 'Thank You!, Your Friends, Mike, Dan, Stan, Max, Rad, Ned, ',
'Max': 'Thank You!, Your Friends, Mike, Dan, Stan, Max, Rad, Ned, ',
'Mike': 'Thank You!, Your Friends, Mike, Dan, Stan, Max, Rad, Ned, ',
'Ned': 'Thank You!, Your Friends, Mike, Dan, Stan, Max, Rad, Ned, ',
'Rad': 'Thank You!, Your Friends, Mike, Dan, Stan, Max, Rad, Ned, ',
'Stan': 'Thank You!, Your Friends, Mike, Dan, Stan, Max, Rad, Ned, '}
但我希望:
{'Dan': 'Thank You!, Your Friends, Mike, Stan, Max, Rad, Ned',
'Max': 'Thank You!, Your Friends, Mike, Dan, Stan, Rad, Ned',
'Mike': 'Thank You!, Your Friends, Dan, Stan, Max, Rad, Ned',
'Ned': 'Thank You!, Your Friends, Mike, Dan, Stan, Max, Rad',
'Rad': 'Thank You!, Your Friends, Mike, Dan, Stan, Max, Ned',
'Stan': 'Thank You!, Your Friends, Mike, Dan, Max, Rad, Ned'}
这是一种使用列表切片的方法。你知道吗
例如:
输出:
使用列表理解的示例:
输出:
我认为使用条件列表理解是一个简单的解决方案:
输出
相关问题 更多 >
编程相关推荐