#Python编程语言学习:判断两个列表是否对应完全相等(巧解输出是一摸一样的列表数据,但就是不相等)
import operator
res00=['1','2','3']
res01=[1,2,3]
res02=[1,3,2]
res03=[1,2,3,4]
res04=res01
print('两者是否相等?',operator.eq(res03,res02))
if operator.eq(res01,res04): #判断两个列表是否对应完全相等
print('两者相等!',res01,'\t',res04)
if operator.eq(res01,res02):
print('两者相等!',res01,'\t',res02)
def parse_tags(tags): # 解析tags,把字符串类型解析为列表类型。因为输入的tags内部全是字符串元素,要解析为正常的列表内的块元素
return [tag[1:-1] for tag in tags[1:-1].split(', ')]
#输出是一摸一样的数据,但就是不相等,输出可知,数据类型不一样!
res00=str(res00)
res01=parse_tags(res00)
print('after str: ',type(res00),len(res00),res00)
print('after parse_tags: ',type(res01),len(res01),res01)
if res00 != res01:
print('两者不等!',res00,'\t',res01)
两者是否相等? False
两者相等! [1, 2, 3] [1, 2, 3]
after str: <class 'str'> 15 ['1', '2', '3']
after parse_tags: <class 'list'> 3 ['1', '2', '3']
两者不等! ['1', '2', '3'] ['1', '2', '3']