如果找不到与列表匹配的内容,如何添加到列表中?

时间:2018-11-21 23:12:01

标签: python for-loop while-loop

当我的代码在整个列表中都找不到任何内容时,我想进行打印。

这是我的代码:

new_list = ['There%is', 'None&of', 'Same&here']
a = new_list.split("%")
old_list = ['Stack%Hello', 'Over&You', 'flow&There']
condition = True
while condition:
    try:
        for i, items in zip(range(len(old_list)), old_list):
            old_list_value = old_list[i].split("%")
            if a[0] in items:
                if len(old_list_value[1]) < len(a[1]):
                    old_list[i] = new_list        
                    condition = False

                elif len(old_list_value[1]) > len(a[1]):
                    old_list[i] = new_lis
                    condition = False

            else:
                old_list.append(new_list)
                condition = False
                break

    except Exception as err:
        print(err)

我想要做的是:检查每个%的每个第一个单词,然后从old_list中进行比较,以检查old_list中是否有第一个单词-如果有第一个单词,则重播old_list新的价值。

如果单词长于new_list单词,那么我们什么也不做。

如何使它在整个列表中都找不到if a[0] in items:,然后我们将new_list基本添加到old_list中?

意思是,如果它包含在old_list中,那么它首先需要搜索所有单词,如果不包含,则我们将其追加。

新修改:

代码:

new_list = ['There%is', 'None&of', 'Same&here']
a = new_list.split("%")
old_list = ['Stack%Hello', 'Over&You', 'flow&There']


for i, items in zip(range(len(old_list)), old_list):
    old_list_value = old_list[i].split("%")
    if a[0] in items:
        if len(old_list_value[1]) < len(a[1]):
            old_list[i] = new_list
            break


        elif len(old_list_value[1]) > len(a[1]):
            old_list[i] = new_list
            break


else:
    old_list.append(new_list)
    break

1 个答案:

答案 0 :(得分:1)

您可能要查看其他内容:

for item in items:
    if you_found_something:
        found_item = item
        break
else:
    print('No item found.')
    do_your_append_here

for-else基本上回答了for循环是否终止而没有中断的问题。在上方,当我们发现某些东西时将中断,因此else将不会执行,但是只要您的for循环在没有break语句的情况下终止,那么else中的代码将被执行。