已知x为非空字符串,那么表达式 ','.join(x.split(',')) == x 的值一定为True。
为什么是对的
对啊,x.split是把x以逗号为分界线,拆成含有多个字符串的list。join就只是把一个list中的所有字符串(必须全是字符串)通过逗号连接起来。
相当于左边是先分开,在连接起来。就等于没变
所以x==x,就是true
为什么不能以数字开头,应该是本身语法限制
拆分代码就可以明白一点,因为最终还是转回到本身值,自然就是相等了
import sys
x='test,12'
print("假设x = %s" % x)
print("x.split(',') = %s" % str(x.split(','))) # 以逗号进行分组,因为csdn字符串里没有逗号,所以默认只是一个长度的数组
print("','.join(x.split(',')) = %s" % ','.join(x.split(','))) # join这里是以逗号将字符串的每个字符或者数组每值以逗号分开
print("','.join(x.split(',')) == x = %s" % str(','.join(x.split(',')) == x))