我有此代码,想从列表中删除“和”。
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']]
但是我想摆脱第三个列表中的“和”。
我尝试过的方法不起作用,通过搜索StackOverflow发现的内容似乎仅适用于单个列表,或者我不知道如何在列表中的列表中实现它。
你能帮忙吗?
答案 0 :(得分:1)
您需要访问子列表来执行删除操作,而不是外部操作:
data = [['First', 'Last'], ['David', 'Joyner'], ['and', 'George', 'Burdell']]
for sublist in data:
while "and" in sublist:
sublist.remove("and")
答案 1 :(得分:0)
尝试此操作,您可以在代码中添加一条指令,以将“和”替换为“”:
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']]