str = 'abcdcba'
new_str = reversed('abcdcba')
print(str)
print(''.join(new_str))
if str == ''.join(new_str):
print('&&&&&&&&&&&&&&&&&&7')
输出:
abcdcba
abcdcba
与设想不一致,因为设想的if语句是要执行的,结果没执行,同理如下:
str = 'abcdcba'
new_str = reversed('abcdcba')
print(list(str))
print(list(new_str))
if list(str) == list(new_str):
print('***********')
输出结果是:
‘*’也没打印出来.纳闷啦>
多亏了万能的百度,在菜鸟教程中说reversed()返回一个反转的迭代器.
啥意思呢,就是迭代器一次只能消费一次,我在语句print(list(new_str))中迭代了一次,那么在if 语句中的list(new_str)中输出的list为空,所以不执行if语句
https://blog.csdn.net/sxingming/article/details/51353379