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



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

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)

您不需要for循环来完成此操作。一个简单的"ifx-in-y"语句就足够了。

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

您不必为列表中的每个数字打印

numbers = [1, 2, 4, 3, 6]
input_number = int(input("enter a number: "))
if input_number in numbers:
print(f"number already in list at {numbers.index(input_number)}")
else:
numbers.append(input_number)

缩进有一些问题。您需要移动除第一行代码外的所有行,只剩下一个选项卡。

对于代码,一种选择是添加一个break语句,如果找到数字,它将停止for循环的运行。如果找不到号码,则运行else条件。如果选择此实现,则else条件及其内容应向左再移动一个选项卡,以便与for循环对齐。

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)

没有必要遍历列表,尤其是因为您已经在使用index():

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

您的代码与您描述的不一样。它多次附加元素(每个元素的附加值不等于给定值(。如果你想使用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)

如果你的值可以多次出现在列表中,你可以用列表理解而不是index((来获取它的所有出现位置:print([i for i,e in enumerate(li) if e==v])

最新更新