当前位置: 首页 > 知识库问答 >
问题:

这个append方法在Python中不起作用

杜君浩
2023-03-14

编写一个程序来检查列表中是否存在给定的数字。如果存在,则显示元素在列表中的位置。如果该元素不存在,则将该元素添加到列表中。

 l=[1,2,4,3,6]
    x=int(input("enter a number:"))
    for i in l:
        if(i == x):
            print("number present at")
            print(l.index(x))
        else:
            l.append(x)

 

共有2个答案

申屠弘图
2023-03-14

您的代码不是您描述的内容。它多次追加元素(每个不等于给定的元素追加一次)。如果您想使用li.index()方法,下面的方法将会起作用:

li = [1,2,4,6]
vals = [1,3]
for val in vals:
    if val in li:
        print(li.index(val))
    else:
        li.append(val)

如果值可以多次出现在列表中,则可以使用列表理解而不是索引():print([i for i,e in enumerate(li)If e==v])

柯立果
2023-03-14

缩进有一些问题。您需要移动所有行,除了第一行代码,左移一个制表符。

至于代码,一个选项可以是添加一个break语句,如果找到该数字,该语句将停止for-loop的运行。如果没有找到该数字,将运行else-条件。如果您选择这个实现,else-condition及其内容应该再向左移动一个tab,这样它就与for-loop对齐了。

l=[1,2,4,3,6]
x=int(input("enter a number:"))
for i in l:
    if(i == x):
        print("number present at")
        print(l.index(x))
        break
else:
    l.append(x)
 类似资料:
  • 问题内容: 为什么这项工作有效- 但这不是- 第二种情况下的输出为。你能解释一下输出吗? 问题答案: 该方法没有返回值。它会在适当的位置更改列表,并且由于您没有将分配给任何变量,因此只是“迷失在空间” 我没有重载所有有问题的方法,但是概念应该很清楚。

  • 问题内容: 我有一个像这样开始的函数: 我正在输入字符串“ 1 + 2 * 3 ** 4”,但是return语句根本没有删除空格,我也不知道为什么。我什至没有运气尝试过.replace()。 问题答案: Strip不会在所有地方(仅在开头和结尾)删除空格。尝试这个: 在这种情况下使用是多余的(显然,感谢评论员!)。 在我休息之前(感谢OP!)的PS Bonus有用片段:

  • 我正在使用演示APi(http://dummy.restapiexample.com/update) 我有一个响应类UpdateResponse 我有一个Api类和一个APIInterface 和对话框而不是主活动 在APIInterface中使用PUT方法有一个@path(id)和三个@fields(name、salary、age) 下面是UpdateResponse类代码 Api接口代码如下

  • 问题内容: 我正在学习在Go中创建XML。这是我的代码: 我希望输出是这样的: 但是我得到的是: 我想念什么或做错什么?因为“ name,attr”东西对其他所有东西都适用(例如,如您所见,对于“ request”字段)。谢谢。 问题答案: 您的代码中有几处错误。在Go中使用编码包时,所有要编组/解组的字段都必须导出。请注意,结构本身不必导出。 因此,第一步是更改结构以导出字段: 现在,如果要在点

  • 问题内容: 我正在Windows Vista上工作,但是我正在从DOS命令运行python。我有这个简单的python程序。(实际上是一个名为test.py的py文件) 当我从Dos命令执行“ python test.py”时,它不起作用。例如,如果执行前的提示“ Dos命令”是这样的: 执行后,必须是这样的: 帮助Plz。 问题答案: 首先,您通常不想使用-而是看一下子流程模块。但是,那并不能解

  • 这是我的模块信息: 这是我的父gradle构建文件: 这是我的客户端模块构建文件: 我正在尝试获取FXMLLoader的资源,但我根本无法让它工作。我已经挣扎了两个小时,现在我真的很绝望。我尝试了所有可能的文件名组合,每个可能的位置,但仍然返回null。 我还尝试了,但它也不工作。 有人能帮我吗?我将非常感激。