这里,我有一个随机整数列表:
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):
中将<=
更改为<
。你可能还想看看评论,他们对你可能遇到的其他潜在错误有很好的建议。