Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用python中的数字修改列表_Python_Python 3.x - Fatal编程技术网

用python中的数字修改列表

用python中的数字修改列表,python,python-3.x,Python,Python 3.x,我正在尝试修改列表。目前,有一个随机数的列表,我想更改该列表,它会在数字之间产生最大数量的增加。也许我说得不好。例如,如果列表是[2,3,1,2,1],我会修改为[1,2,3,1,2],因为1->2,2->3和1->2在一个增加的序列中总共增加了3个。有什么建议吗?我会用这个递归算法来解决你的问题。我所做的是对我的列表进行排序,将所有重复项放在末尾,并重复相同的操作,排除已排序的、无重复项的列表 def sortAndAppendDuplicates(l): l.sort()

我正在尝试修改列表。目前,有一个随机数的列表,我想更改该列表,它会在数字之间产生最大数量的增加。也许我说得不好。例如,如果列表是
[2,3,1,2,1]
,我会修改为
[1,2,3,1,2]
,因为1->2,2->3和1->2在一个增加的序列中总共增加了3个。有什么建议吗?

我会用这个递归算法来解决你的问题。我所做的是对我的列表进行排序,将所有重复项放在末尾,并重复相同的操作,排除已排序的、无重复项的列表

def sortAndAppendDuplicates(l):

    l.sort()
    ll = list(dict.fromkeys(l)) # this is 'l' without duplicates
    i = 0
    while i < (len(ll)-1):
        if list[i] == list[i+1]:
            a = list.pop(i)
            list.append(a)
            i = i - 1
        i = i + 1

    if hasNoDuplicates(l):
        return l
    return ll + sortAndAppendDuplicates(l[len(ll):])

def hasNoDuplicates(l):

     return( len(l) == len( list(dict.fromkeys(l)) ) )


print(sortAndAppendDuplicates([2,3,6,3,4,5,5,8,7,3,2,1,3,4,5,6,7,7,0,1,2,3,4,4,5,5,6,5,4,3,3,5,1,2,1]))

# this would print [0, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 3, 4, 5, 3, 5, 3, 5] 
def排序和附加重复项(l):
l、 排序()
ll=列表(dict.fromkeys(l))#这是没有重复项的“l”
i=0
而我<(len(ll)-1):
如果列表[i]==列表[i+1]:
a=列表.pop(i)
列表.附加(a)
i=i-1
i=i+1
如果无重复(l):
返回l
返回ll+sortAndAppendDuplicates(l[len(ll):]))
def hasNoDuplicates(l):
return(len(l)=len(list(dict.fromkeys(l)))
打印件(重复件([2,3,6,3,4,5,5,8,7,3,2,1,3,4,5,6,7,0,1,2,3,4,4,5,5,6,5,4,3,5,1,2,1]))
#这将打印[0,1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,1,2,3,5,6,7,1,2,3,4,5,3,5,3,5,5]

以下列表的预期结果是什么
[2,3,1,2,1,4,2,2,3,1]
[1,2,3,1,2,1,2,3,4,1]