gpt4 book ai didi

python - 删除二维列表中第一次出现的单词?

转载 作者:太空宇宙 更新时间:2023-11-04 09:43:50 25 4
gpt4 key购买 nike

我有一个这样的列表

[['a', 'word'],
['University', 'org'],
['of', 'org'],
['Michigan', 'org'],
['Michigan', 'country']]

我想做的是,如果我在第一次迭代中找到 michigan 这个词,我将返回标签,并将该词替换为“已删除”之类的内容,当我再次迭代时,我应该找到这样的列表

[['a', 'word'],
['University', 'org'],
['of', 'org'],
['deleted', 'org'],
['Michigan', 'country']]

我试过的是

for i in range(len(list)):

if word.lower()==list[i][0].lower():
found= list[i][1]

list.pop(i)
list[i][0] = "deletedword"


break

最佳答案

使用生成器表达式查找第一个 “Michigan” 的位置。将其替换为所需的词:

lst = [['a', 'word'], ['University', 'org'], ['of', 'org'], ['Michigan', 'org'], ['Michigan', 'country']]

try:
pos = next((i, x.index('Michigan')) for i, x in enumerate(lst) if 'Michigan' in x)
lst[pos[0]][pos[1]] = 'deleted'

except StopIteration:
print('There is no Michigan in the list')

print(lst)

# [['a', 'word'],
# ['University', 'org'],
# ['of', 'org'],
# ['deleted', 'org'],
# ['Michigan', 'country']]

关于python - 删除二维列表中第一次出现的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50563646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com