如何从列表中的列表中删除项目?

2024-09-27 21:30:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这个代码,想从列表中删除'和'

def names_to_apa(names):
    x = names.split(",")  
    nm = []
    for y in x:
        nm.append(y.split())
    print(nm)
    for i in nm:
        if i == 'and':
            nm.remove(i)
    print(nm)

print(names_to_apa("First Last, David Joyner, and George Burdell"))
#print: Last, F., Joyner, D., & Burdell, G.

电流输出为:

[['First', 'Last'], ['David', 'Joyner'], ['and', 'George', 'Burdell']]

但我想去掉第三张单子上的and

我所做的尝试不起作用,而且我通过搜索StackOverflow找到的似乎只适用于单个列表,或者我不知道如何在列表中的列表中实现它

你能帮忙吗


Tags: andtoin列表fornamesfirstsplit
2条回答

您需要访问子列表来执行删除操作,而不是访问外部列表:

data = [['First', 'Last'], ['David', 'Joyner'], ['and', 'George', 'Burdell']]

for sublist in data:
    while "and" in sublist:
        sublist.remove("and")

尝试此操作您可以在代码中添加一条指令,将“and”替换为“”:

def names_to_apa(names):
    names=names.replace("and","")
    x = names.split(",")
    nm = []
    for y in x:
        nm.append(y.split())
    print(nm)
    for i in nm:
        if i == 'and':
            nm.remove(i)
    print(nm)

print(names_to_apa("First Last, David Joyner, and George Burdell"))

输出:

[['First', 'Last'], ['David', 'Joyner'], ['George', 'Burdell']]

相关问题 更多 >

    热门问题