Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从列表中删除元素,代码只剩下一个_Python_Python 3.x_String_List_Methods - Fatal编程技术网

Python 从列表中删除元素,代码只剩下一个

Python 从列表中删除元素,代码只剩下一个,python,python-3.x,string,list,methods,Python,Python 3.x,String,List,Methods,我正在用字符串和方法开始python练习。(我知道还有一些额外的打印语句和注释。)目标是从列表中返回其他每一项。因此,对于第一个例子,目标是返回-#应该是['a','c','e','g'] 我很挣扎,因为我不明白为什么我的代码不能从列表中删除“b”。我错过了什么 我已经研究了以下具体问题。(加上其他) 如果您查看程序的调试输出,您将看到循环并没有像它应该的那样从L_元素一直降到1。这是因为您正在缩短循环中的元素,因此循环(对于元素中的x)不会像您期望的那样频繁执行。如果将元素中x的更

我正在用字符串和方法开始python练习。(我知道还有一些额外的打印语句和注释。)目标是从列表中返回其他每一项。因此,对于第一个例子,目标是返回-#应该是['a','c','e','g']

我很挣扎,因为我不明白为什么我的代码不能从列表中删除“b”。我错过了什么

我已经研究了以下具体问题。(加上其他)


如果您查看程序的调试输出,您将看到循环并没有像它应该的那样从
L_元素
一直降到1。这是因为您正在缩短循环中的
元素
,因此循环(
对于元素中的x
)不会像您期望的那样频繁执行。如果将元素中x的
更改为范围内i(L_元素)的
将按预期工作

不过,将此作为列表编写要简单得多:

def skip_elements(elements):
    return [e for i, e in enumerate(elements) if i % 2 == 0]

如果您查看程序的调试输出,您将看到循环并没有像它应该的那样从
L_元素
一直降到1。这是因为您正在缩短循环中的
元素
,因此循环(
对于元素中的x
)不会像您期望的那样频繁执行。如果将元素中x的
更改为范围内i(L_元素)的
将按预期工作

不过,将此作为列表编写要简单得多:

def skip_elements(elements):
    return [e for i, e in enumerate(elements) if i % 2 == 0]

您可以使用列表保存每个偶数索引
[x代表列表中的x如果list.index(x)%2==0]
@alec,请不要使用
list
作为名称。对不起,我认为这样做会更清楚,而不是使用另一个变量名称。正如Stephen所说,“list”是一个内置函数的名称,不应该用作变量名。您可以使用list来保存每个偶数索引
[x代表列表中的x如果list.index(x)%2==0]
@alec,请不要使用
list
作为名称。对不起,我认为这样做会更清楚,而不是使用另一个变量名称。正如Stephen所说,“list”是一个内置函数的名称,不应该用作变量名。我得到了其中的大部分——特别是我减少了循环,而L_元素没有得到一个。这是跟进的关键。但在这种情况下,“列表理解”是什么呢。我知道我可以用谷歌搜索,但那是一个页面的兔子洞。(无论如何,我会的。)我实际上是在尽量保持我所知道的范围内。这句话对你们来说可能更简单,但对我来说,这几乎就是类固醇上的物理。谢谢。@LynnLCrawford最好读一下手册;它解释了列表(或字典)理解基本上是for循环的缩写。这是一个极好的资源。我可能会把它打印一段时间!或者至少把它放在一个窗口里。我得到了大部分——特别是我减少了我的循环,而L_元素没有达到一个。这是跟进的关键。但在这种情况下,“列表理解”是什么呢。我知道我可以用谷歌搜索,但那是一个页面的兔子洞。(无论如何,我会的。)我实际上是在尽量保持我所知道的范围内。这句话对你们来说可能更简单,但对我来说,这几乎就是类固醇上的物理。谢谢。@LynnLCrawford最好读一下手册;它解释了列表(或字典)理解基本上是for循环的缩写。这是一个极好的资源。我可能会把它打印一段时间!或者至少把它放在窗户里。