如何编辑列表中的字符串

时间:2017-12-29 22:24:14

标签: python-3.x

我想要的是这个 - 我有一个从用户输入创建的名称列表。现在我必须为用户提供一种方法,通过输入他们要编辑的名称来编辑名称,然后显然将其编辑为他们想要的内容并将其存储在列表中。

如果它能帮助到目前为止我所拥有的一切。 def edit()是我挣扎的地方。

def mainMenu():
    print("\nMAIN MENU")
    print("1. Display Members:")
    print("2. Add A Member(s):")
    print("3. Remove A Member:")
    print("4. Edit Member:")
    print("5. Exit:")
    selection = int(input("\nEnter Choice: "))
    if selection == 1:
        display()
    elif selection == 2:
        add()
    elif selection == 3:
        remove()
    elif selection == 4:
        edit()
    elif selection == 5:
        exit()
    else:
        print("Invalid choice, enter 1-5.")
        mainMenu()

def display():
    #displaying roster...
    print(roster)
    mainMenu()

def add():
    #adding team members...
    size = int(input("How many players are you adding?"))
    global roster
    roster = [0] * size
    for i in range(size):
        roster[i] = input("Enter members name: ")
    roster.append(roster)
    mainMenu()

def remove():
    #removing a team member...
    roster.remove(input("Enter member to be removed: "))
    mainMenu()

def edit():
    #edit a team member...
    roster.insert(input("Enter Name to be edited: "))
    mainMenu()

mainMenu()

1 个答案:

答案 0 :(得分:1)

在python中删除和添加元素非常简单,因为它们直接受语言支持。它们中的每一个都只能翻译成一条指令。

当某些东西看起来不是很明显时,例如您尝试实现的编辑功能,请尝试将其分解为可以表示为包含一行的简单操作(即使不按顺序) )。

为了找到答案我认为:在我的代码中的某处,我想输入 sh 'sed \\"s/pub Url =.*/pub Url = \\'https:\\\/\\\/example.com:3207\\';/g\\" myfile.ts'

我知道在输入之前,我想找到WorkflowScript: 4: unexpected char: '\' @ line 4, column 49. ub Url =.*/pub Url = \\'https:\\\/\\\/ex的值。这可以通过roster[ind_name_to_edit] = new_name来完成。并且您已经知道如何获取要编辑的名称和要编辑的名称;)

如果您仍然不确定如何做您想做的事情,请重新阅读此答案并查看the documentation of the index method of list in python3以及一些示例here

N.B:如果您的列表应该以某种方式排序,您应该实现自己的搜索算法而不是使用索引,并且您应该考虑在编辑后重新排序列表。我知道这是一个长镜头,但以防万一。