我有两个字符串,就像s1='fly,dream';s2='dream,fly'
我想要s1等于s2.
我试过的代码是:
def Isequal(m,n):
s1=m.split(',') s2=n.split(',') s1.sort() s2.sort()
if s1 == s2:
print 'Equal'
else:
print s1,s2
Run Code Online (Sandbox Code Playgroud)
注意:s1可能等于s2.然后
def Isequal(m,n):
s1=m.split(',')
s2=n.split(',')
if s1 == s2.reverse() || s1 == s2:
print 'Equal'
else:
print s1,s2
Run Code Online (Sandbox Code Playgroud)
这段代码对吗?我有什么需要改进的吗?
你的代码将两个字符串拆分,(返回一个list)并调用该sort方法list.由于两个子字符串相同,因此对子字符串列表进行排序会产生相同的列表.知道发生了什么的最好方法是打印出来的东西.查看结果.
>>> s1 = 'fly,dream'
>>> s2 = 'dream,fly'
>>> s1 = s1.split(',')
>>> s1
['fly', 'dream']
>>> s2 = s2.split(',')
>>> s2
['dream', 'fly']
>>> s1.sort()
>>> s1
['dream', 'fly']
>>> s2.sort()
>>> s2
['dream', 'fly']
>>> s1 == s2
True
Run Code Online (Sandbox Code Playgroud)
如果要检查两个字符串是否包含相同的子字符串,请使用sets,如下所示:
>>> varOne = set(s1.split(','))
>>> varTwo = set(s2.split(','))
>>> varOne == varTwo
True
Run Code Online (Sandbox Code Playgroud)
当心,设置只允许独特的项目,所以fly,dream,fly和dream,dream,fly将导致True这里.
| 归档时间: |
|
| 查看次数: |
181 次 |
| 最近记录: |