python从混合字符串中找到单独的字符串并提供空间

时间:2014-07-01 15:37:22

标签: python

考虑我有list:[my, python, dynamic]

我从用户那里得到一个raw_input作为字符串,

例如: if raw_input is 'mypython' as single string,然后我需要在字符串之间提供空格,因为它们是列表中的单独单词: 所以它需要打印为my python 请帮助,我搜索了答案,但没有得到我真正需要的想法。

list=['my','python','dynamic']
s1 = raw_input("enter string: ")
if s1 in list:
  print s1 + #<-stuck in here

2 个答案:

答案 0 :(得分:3)

你正在迭代错误的事情:

list=['my','python','dynamic']
s1 = raw_input("enter string: ")
print ' '.join([i for i in list if i in s1])

打印:my python

答案 1 :(得分:1)

一种方法是简单地要求用户自行更正

l=['my','python','dynamic']

valid_input = False

while not valid_input:
  s1 = raw_input("enter string: ")
  s2 = s1.split(' ')  # break up string into "words"
  valid_input = True
  for word in s2:
    if word not in l:
      print "invalid input"
      valid_input = False
      break

这假设用户也可以输入空字符串。