我尝试在更改列表后删除列表中的一个项目,但该项目不会删除,我也不明白为什么

时间:2019-11-20 22:19:38

标签: python list

我的代码的目的是接受用户的输入,并检查每个字符是否可以是字符串或整数。然后会将角色放入不同的列表。

如果您知道更好的方法,请说。这只是我能想到的。

user_inp = input("please give me an input")


def split_func():
    for i in user_inp:
        user_inp_split.append(i)

def check():

    for i in user_inp:
        try :
            temp = int(i)
            items2.append(temp)
            del user_inp_split[i]
            # the line that wont work 


            print (user_inp)

            print (user_inp_split)

        except:
            print ("get to stage 2")

1 个答案:

答案 0 :(得分:0)

欢迎来到StackOverflow,您遇到的问题是您没有组织的代码,我重新组织了代码以完成所需的任务:

user_inp = input("please give me an input: ")
user_inp_split = list(user_inp) #user input converted to list
items2 = [] #Character list
items1 = [] #integer list

def check():
    for i in user_inp_split: #iterates over the user_input list
        try :
            items1.append(int(i,10)) #Convert the items to an integer with base on 10
        except ValueError:
            items2.append(i) #if not, append to the items2 list
    print ("User input {}".format(user_inp))
    print ("Characters {}".format(items2))
    print ("Integers {}".format(items1))
check() #call the function, otherwise it wont work

首先,您必须声明要附加到的列表(第3行和第4行),然后我们必须进行迭代,并检查它们是否为整数,以及是否可以使用内置函数{{3}进行转换},它们是整数,否则,它们不是整数(第8至11行),最后我们打印用户输入以检查一切正常。