使用for循环在python中填充列表

时间:2018-09-03 15:21:07

标签: python

a = int(input())
l1 = []
for i in range(a):
    l1[i] = 5

print(l1)

我不断收到错误消息:

list assignment index out of range

i将始终小于a,所以为什么会出现此错误?我不想使用append()

4 个答案:

答案 0 :(得分:1)

如果要获取 n '5'个元素的列表,可以使用此选项:

// Pseudocode
$id = $sql("SELECT 'AUTO_INCREMENT' FROM  INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'yourDbName' AND TABLE_NAME='Products')");

$sql("ALTER TABLE Products AUTO_INCREMENT = ".($id + 15));

$sql = "INSERT INTO Products
(item, description, shelf, active) VALUES 
(".$item."', '".$description."', '".$shelf."', '".$active."')";

它将等待输入,并将列表保存在 l1 列表中

答案 1 :(得分:0)

使用insert

a = int(input())
l1 = []
for i in range(a):
    l1.insert(999999999999,5)

print(l1)

执行中:

 10
[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]

答案 2 :(得分:0)

您所指的是第i个元素,但您的列表为空。 必须具有第i个元素来写入a[i] = 5。因此,请使用虚拟值填充列表。例如,以l1 = [None] * a代替l1 = []

答案 3 :(得分:0)

您可能会混淆列表到字典的行为。字典会起作用。

a = int(input())
l1 = {}
for i in range(a):
    l1[i] = 5  

print([j for i,j in l1.items()])

您收到一个错误,因为在l1 [0]处没有要分配的用户输入元素。如果要使您的代码正常工作,我们需要在列表中预先填充假人。

a = int(input())
l1 = (','*(a-1)).split(',')
for i in range(a):
    l1[i] = 5

print(l1)