在python字符串join()方法内部中断for循环

在python字符串join()方法内部中断for循环,python,string,for-loop,join,break,Python,String,For Loop,Join,Break,我的代码是: maxlimit = 5 mystring = ' \r\n '.join([('' if (idx >= maxlimit) else str(name)) for idx,name in enumerate(queryset)]) 如果idx>=maxlimit,如何在join()方法内部中断for循环?那么,您应该在列表中使用if条件: mystring = ' \r\n '.join([str(name) for i

我的代码是:

maxlimit = 5
mystring = ' \r\n '.join([('' if (idx >= maxlimit) else str(name))
                         for idx,name in enumerate(queryset)])

如果
idx>=maxlimit
,如何在
join()方法内部中断for循环?

那么,您应该在列表中使用
if
条件:

mystring = ' \r\n '.join([str(name) for idx, name in enumerate(queryset) 
                          if idx < maxlimit])

虽然对于每个元素一个函数的简单应用,我经常使用,因为它需要较少的键入:

' \r\n '.join(map(str, islice(queryset, maxlimit)))

您只需对列表进行切片:
。。。对于idx,列表中的名称(enumerate(queryset))[:maxlimit]
@Rawing只是为了挑剔OP需要
[:maxlimit+1]
。如果
变得不必要,则整个
“\r\n”。join(queryset[:maxlimit+1]中name的str(name))
' \r\n '.join(map(str, islice(queryset, maxlimit)))