问题遇到的现象和发生背景
Python初学者,在写格式化输出代码是,用了format 和 f+strings中方法,输出结果却不一样
问题相关代码,请勿粘贴截图
def remove_ele(lista, listb):
for i in listb:
lista.remove(i)
return lista
list1 = [3, 5, 4, 7, 9, 11, 13]
list2 = [7, 11]
print('from {} remove {}, result:{}'.format(list1, list2, remove_ele(list1, list2)))
print(f'from {list1} remove {list2},result:{remove_ele(list1, list2)}')
上面两个print不能同时运行,请先注释掉其他一个print。
先是用format方法输出,后是用f+strings这种方法输出
运行结果及报错内容
我的解答思路和尝试过的方法
两种方法的输出结果,我想先格式化输出list1,但包含format代码的是先把list1的两个元素remove掉了再输出,
而包含f+strings代码的则输出原始的list1,没有remove掉两个元素。
我想要达到的结果
上面代码的差别在哪里?导致了格式化输出list1出现了什么差异?