【发布时间】:2022-01-14 07:47:12
【问题描述】:
所以我想做一个排序器,但我希望它的输出合并。在我的代码中,我将两个不同类型的变量从列表中分离出来,整数和整数。
列表:
nlist = [19, 5, 'cat', 'rabbit', 2, 32, 'mice', 'dog', 7]
代码:
def bubble(collection):
dlist = [e for e in collection if isinstance(e, int)]
clist = [e for e in collection if not isinstance(e, int)]
for endnum in range(len(dlist)-1, 0, -1):
print(dlist)
for i in range(endnum):
if dlist[i] > dlist[i+1]:
dlist[i], dlist[i+1] = dlist[i+1], dlist[i]
for endnumm in range(len(clist)-1, 0, -1):
print(clist)
for j in range(endnumm):
if clist[j] > clist[j+1]:
clist[j], clist[j+1] = clist[j+1], clist[j]
answer = dlist + clist
print(answer)
输出:
[19, 5, 2, 32, 7]
[5, 2, 19, 7, 32]
[2, 5, 7, 19, 32]
[2, 5, 7, 19, 32]
['cat', 'rabbit', 'mice', 'dog']
['cat', 'mice', 'dog', 'rabbit']
['cat', 'dog', 'mice', 'rabbit']
[2, 5, 7, 19, 32, 'cat', 'dog', 'mice', 'rabbit']
所需输出:
[19, 5, 'cat', 2, 'rabbit', 32, 'mice', 'dog', 7]
[19, 5, 'cat', 2, 32, 'rabbit', 'mice', 'dog', 7]
[19, 5, 'cat', 2, 32, 'rabbit', 'mice', 7, 'dog']
[19, 5, 2, 'cat', 32, 'rabbit', 'mice', 7, 'dog']
[19, 5, 2, 32, 'cat', 'rabbit', 'mice', 7, 'dog']
[19, 5, 2, 32, 'cat', 'rabbit', 7, 'mice', 'dog']
[19, 5, 2, 32, 'cat', 7, 'rabbit', 'mice', 'dog']
[19, 5, 2, 32, 7, 'cat', 'rabbit', 'mice', 'dog']
[5, 19, 2, 32, 7, 'cat', 'rabbit', 'mice', 'dog']
[5, 2, 19, 32, 7, 'cat', 'rabbit', 'mice', 'dog']
[5, 2, 19, 7, 32, 'cat', 'rabbit', 'mice', 'dog']
[5, 2, 19, 7, 32, 'cat', 'rabbit', 'mice', 'dog']
[2, 5, 19, 7, 32, 'cat', 'rabbit', 'mice', 'dog']
[2, 5, 7, 19, 32, 'cat', 'rabbit', 'mice', 'dog']
[2, 5, 7, 19, 32, 'cat', 'mice', 'rabbit', 'dog']
[2, 5, 7, 19, 32, 'cat', 'mice', 'dog', 'rabbit']
[2, 5, 7, 19, 32, 'cat', 'dog', 'mice', 'rabbit']
有什么方法可以让我输出到所需的输出?
之前的同一个家伙刚刚解决了一些问题和问题。
【问题讨论】:
标签: python selection-sort