我在“tups”中有一个元组列表,并应用了以下代码进行筛选。元组列表的格式为[(floata,stra1,stra2),(floatb,strb1,strb2),...etc]
keys=sorted({t[2] for t in tups})
for key in keys:
group=filter(lambda t: t[2]==key,tups)
print '{}:\n\tmax: {}\n\tmin: {}'.format(key,max(group),min(group))
起初我认为花括号是个错误,于是把它们改成了方括号。我没有得到一个语法错误,但代码没有工作。万不得已,我把括号换了回来,一切都很好。有人能解释一下结构吗。这是字典吗?文档中对此有何解释?你知道吗
在Python 2.6之前,您应该使用:
使用占位符格式化字符串(
%s
)。你知道吗从Python2.6开始,可以对占位符和
.format
使用{}
语法:或使用位置参数:
(注意,我更改了参数的顺序,但是输出是相同的:我们使用
{2}
表示第三个参数……)只是一个建议:当你有很多争论的时候,把它们命名为:
.format
语法比%
语法更强大:示例可在documentation中找到。你知道吗如果你指的是第一行中的花括号,this is a set comprehension。这将从
tups
中的每个元组创建一组第三项。集合类似于列表,但没有顺序,因此不能包含重复项。你知道吗如果您指的是字符串中的括号,那么这就是new-style string formatting。调用
str.format()
将这些大括号更改为传递的值。你知道吗相关问题 更多 >
编程相关推荐