python 列表问题
在一个列表中查找一个指定的数据,如果找到,在其前面插入一个数据。否则,显示无此数据,不再插入数据。要求:必须用到enumerate 帮你写了一下,功能完成了。具体情况你可以再修改
def fun(lst,s,d):
for i, value in enumerate(lst[:]):
if value ==s:
lst.insert(i,d)
print("插入成功!")
break
else:
print("没有找到",s)
lst=['a','b','c','e']
fun(lst,'e','d') #在 e 前面插入 d ,成功
fun(lst,'g','f') #在 g 前面插入 f ,失败 def fun(lst,s,d):
j=0
for i, value in enumerate(lst[:]):
if value ==s:
lst.insert(i+j,d)
print("插入成功!")
print(lst)
j+=1
else:
print("没有找到",s)
lst=['a','b','c','e','e','e']
fun(lst,'e','d') #在 e 前面插入 d ,成功
fun(lst,'g','f') #在 g 前面插入 f ,失败 sunrise085 发表于 2020-9-18 15:45
帮你写了一下,功能完成了。具体情况你可以再修改
你好,请问,我想自己输入判断有没有,我修改了一下你的,结果不一样 fall_bernana 发表于 2020-9-18 15:50
你好,我想自己输入数字判断
本帖最后由 sunrise085 于 2020-9-18 16:23 编辑
qcyQCY 发表于 2020-9-18 16:11
你好,请问,我想自己输入判断有没有,我修改了一下你的,结果不一样
那应该是input啊
你写的是print,而且input得到的是字符串不是数字
而且你写的enumerate用法也不对啊
def fun(a,s,d):
for i, value in enumerate(a[:]):
if value ==s:
a.insert(i,d)
print("插入成功!")
break
else:
print("没有找到",s)
a=
value=int(input('please input a num:'))#value是查找的值
new_value=int(input('please input a new num:'))# new_value是插入的值
fun(a,value,new_value) qcyQCY 发表于 2020-9-18 16:11
你好,请问,我想自己输入判断有没有,我修改了一下你的,结果不一样
for i, value in enumerate(a[:]):
这一句中的 i 是遍历列表时,value的序列号。例如当value为11的时候,i 为0;当value为55的时候,i 为3 。
你为何要用if判断vcalue和i是否相等 sunrise085 发表于 2020-9-18 16:21
那应该是input啊
你写的是print,而且input得到的是字符串不是数字
而且你写的enumerate用法也不对啊 ...
牛,啊兄弟,没反应过来,基础不扎实,我还是多看看书,谢谢啦、
sunrise085 发表于 2020-9-18 16:26
for i, value in enumerate(a[:]):
这一句中的 i 是遍历列表时,value的序列号。例如当value为11的时候 ...
我自己都笑了
页:
[1]