【发布时间】:2020-11-18 01:07:46
【问题描述】:
[更新:修正 PHP 和 Python 代码的一些错误]
我有一个简单的要求。在 PHP 中,我可以通过简单地编写 $sample[10] = "Sample" 来声明将插入值的索引。要插入多个值,我将创建一个 for 循环,在每个循环中,一个值将被插入到数组中。下面写的是该代码的示例,但在我使用拆分字符串数组的长度进行循环时进行了一些更改:
$toexp = str_split("Hello World");
$array = array();
for ($x = 0; $x < count($toexp); $x++){
$array[$x] = $toexp[$x]; //sample value only
echo $array[$x];
}
我尝试在 Python 中创建类似的代码
samplearray = []
splits = list("Hello World")
for p in splits:
samplearray.extend(p)
print(samplearray[1])
但是,弹出一个错误:
print(samplearray[1])
IndexError: list index out of range
这是否意味着该值仅在索引 0 处插入?如果我打印 samplearray[0] 不会发生错误,它会打印出该索引中的值。请向我解释如何将代码从 PHP 复制到 Python。提前谢谢!
【问题讨论】:
-
暂时让我们ignore PHP。你想做什么?在数组中的任意位置插入元素?将项目附加到数组?
-
在第一次迭代中,索引 1 处没有任何内容。您需要
print(samplearray[x])。 -
@jarmod 在任意位置插入元素。对不起,我忘了补充一点,我不知道如何在 PHP 中实现这一点,所以我简单地尝试了 extend()
-
您的 PHP 代码中有很多错误。第一个:爆炸总是带两个参数。第二:
$array = ();并不代表什么,你应该写$array = array();。第三:忘记了第 7 行末尾的分号。 -
@Aaron_Actu 对于这些错误,我深表歉意。我只是在脑海中写了一个代码。应该先测试它,但无论如何。我来更新一下