我正在解决我需要特定排序的问题,我在函数$this->belongsTo('ParentPosts', [
'className' => 'Posts',
'foreignKey' => 'post_id',
'joinType' => 'INNER'
]);
中编写,但python中MyFn
的结果是一个列表。是否可以在不使用sorted
的情况下返回字符串?
join
答案 0 :(得分:3)
这是不可能的,因为sorted()
旨在返回一个列表。
但是,您可以使用.join()
将其转换回字符串。
s_list = sorted(s, key=MyFn)
s_str = "".join(s_list)
如果你不能使用.join()
,还有另外一种方法,但这有点棘手,我强烈不推荐它。您可以使用repr()
将列表转换为字符串,然后由于切片,您可以从此列表中获取字母:
s_str = repr(sorted(s, key=MyFn))[2::5]
由于字符列表的表示类似于['s', 't', 'r', 'i', 'n', 'g']
,这应该有效。
答案 1 :(得分:0)
是否可以在不使用
join
的情况下返回字符串?
是的,有可能,但很慢:
src = ['a', 'b', 'c']
dest = ''
for c in src:
dest += src
print(dest)
或者functools.reduce
:
from functools import reduce
src = ['a', 'b', 'c']
dest = reduce(str.__add__, src)
print(dest)