a = int(input())
l1 = []
for i in range(a):
l1[i] = 5
print(l1)
我不断收到错误消息:
list assignment index out of range
i
将始终小于a
,所以为什么会出现此错误?我不想使用append()
。
答案 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)