我对Python很陌生,可以使用一些帮助:
我有一个用户输入的字符串。我想将这个字符串分解成字符,以便我可以比较每个位置,看看该位置是否与另一个字符串相匹配,也可以分解为字符。
Pythonic这样做的方式是什么?
到目前为止,这是一个例子:
theWord = "Mississippi"
guess = input('Enter your guess: ')
correctGuess = ""
for i in theWord[i]:
if theWord[i] == guess:
correctGuess = theWord[i]
print(correctGuess)
答案 0 :(得分:1)
也许是这样的:
str1 = "Hello"
str2 = "World"
[char1==char2 for char1, char2 in zip(str1, str2)]
输出:
>>> [False, False, False, True, False]
顺便说一句,你可以像在数组上一样遍历Python字符串,因为它有一个iter方法。如果您想明确地将字符串分解为字符,请拨打list(yourstring)
:
list("Hello")
>>> ['H', 'e', 'l', 'l', 'o']
答案 1 :(得分:0)
我假设您正在使用Python 3.x.由于我不知道Python 2.x是如何工作的,所以如果您使用的是Python 2.x,则可能需要仔细检查代码是否也适用于您的代码。
此外,问题有点模糊,所以我尽我所能回答。
如果您想检查'ham'
是否在'eggshamspam'
中,那么您应该使用以下行:
if 'ham' in 'eggshamspam':
pass
要在'ham'
中找到'eggshamspam'
的位置,请执行:
'eggshamspam'.find('ham') #Returns index of 'ham'. If not found, returns -1.
你不需要把它分解成字符,但如果你愿意的话,我能想到的最蟒蛇的方式是:
myChars = []
for i in myStr:
myChars.append(i)
查看字符串文档online,或在命令提示符(或IDLE)中键入help(str)
以查看代码内文档。您还可以dir(str)
获取str
对象的方法列表。
祝你好运,如果我回答你的问题,+1就会很棒!
答案 2 :(得分:0)
在Python中,字符串是一个字符列表,可以使用方括号内的索引访问。例如,可以使用string1[1]
,第3个string1[2]
访问string1中的第二个字符。
您还可以使用in
直接遍历字符。
for c in word:
print(c)
或者您可以迭代范围并一次访问一个字符。
for c in range(len(string1)):
if string1[c] == string2[c]:
logic()