将随机整数列表的大小增加一倍,然后对其进行排序并打印



这里,我有一个随机整数列表:

import random
list = [random.randint(0, 30) for x in range(6)]
pass

我想把这个列表的大小增加一倍,排序并打印出来

def list_doubled(list):
doubled = []
i = 0
while i <= len(list):
for item in list:
doubled.append(list[i])
doubled.append(list[i])
i += 1
print(doubled)
list_doubled(list)

此代码的作用是使列表的大小增加一倍。当我运行程序时;IndexError:列表索引超出范围";重点放在第11行和第16行。

在Python中,只需将列表乘以2,就可以将列表加倍。

>>> import random
>>> nums = [random.randint(0, 30) for _ in range(6)]
>>> print(nums)
[5, 30, 28, 11, 19, 17]
>>> print(sorted(nums * 2))
[5, 5, 11, 11, 17, 17, 19, 19, 28, 28, 30, 30]

创建列表:

import random
numbers = [random.randint(0, 30) for x in range(6)]

使用extend将列表添加到自身,以便将其加倍:

numbers.extend(numbers)   # or numbers += numbers

如果你需要额外的数字也是随机的,也可以添加列表中项目的随机数字:

numbers.extend(random.randint(0, 30) for _ in range(len(numbers)))

使用sort对其进行排序:

numbers.sort()

使用print打印:

print(numbers)

在while循环线while i <= len(list):中将<=更改为<。你可能还想看看评论,他们对你可能遇到的其他潜在错误有很好的建议。

相关内容

最新更新