在Python中跳过其他人时打印字符串的一部分

时间:2015-08-12 20:47:30

标签: python

说我有以下代码:

myVariable = "goodmorning"

我可以用例如myVariable[1:2](就像Paolo Bergantino在这里说的那样:Is there a way to substring a string in Python?),但是如何在跳过其他角色的同时打印一些角色呢?例如如何打印“gdorn”?我试过了myVariable[0,3,5,6,7](事实证明这是错误的)而且我在想,如果myVariable[0,3,5,6,7]工作,那么myVariable[0,3,5:7]也可以正常工作(我希望你看到我的推理),它没有。我正在通过 codecademy 学习Python而我还没有涵盖函数,如果你进入函数等等,如果有更容易的东西,就像我尝试的那样,那么我会如果你解释一下,请欣赏它!

3 个答案:

答案 0 :(得分:2)

你可以尝试

myVariable = 'iheoiahwd'
idxs = [0, 3, 4, 6, 7]

myVariable = [myVariable[i] for i in idxs] 
print ''.join(myVariable)

或简化为单行:

print ''.join([myVariable[i] for i in [0, 3, 4, 6, 7]])

答案 1 :(得分:0)

my_indices = [1,2,5,6,9]
print "".join(x for i,x in enumerate(my_string) if i in my_indices)

是你可以做到这一点的一种方式

你也可以使用numpy

print "".join(numpy.array(list(my_string))[my_indices])

这会让你做一些奇怪的事情,比如

my_indices = [1,2,3,4,9,9,8]

答案 2 :(得分:0)

可以像

一样简单
myVariable = "goodmorning"
print (myVariable[0] + myVariable[3] + myVariable[5]  + myVariable[6] + myVariable[7] )

输出" gdorn"。

它不优雅。它只是一次构建一个字符串的字符串。