将字符串与字符列表进行比较
问题描述:
假设我有一个字符列表['h','e','l','l','o']
,我想查看字符列表是否与字符串'hello'
匹配,我该如何做?该列表需要完全匹配字符。我想过使用类似的东西:将字符串与字符列表进行比较
hList = ['h','e','l','l','o']
hStr = "Hello"
running = False
if hList in hStr :
running = True
print("This matches!")
但这不起作用,我会怎么做这样?
答
你想要''.join(hList) == hStr
。
将列表变成一个字符串,所以它可以很容易地与其他字符串进行比较。
在你的情况下,你似乎并不在乎案件,所以你可以使用不区分大小写的比较。有关这方面的讨论,请参阅How do I do a case insensitive string comparison in Python?。
答
或者,另一种方式是对方的回答表明愿望相反,创建一个列表出来的hStr
和比较:
list(hStr) == hList
它只是比较列表:
list('Hello') == hList
False
list('hello') == hList
True
答
替代解决方案是将字符串拆分为数组:
list(hStr) == hList
>>> list("hello")
['h', 'e', 'l', 'l', 'o']
+0
是的,纠正了 –
啊谢谢,现在看起来很明显是''。加入(hList)将列表转换为字符串:P – RonB7