现在,这是我的代码:
name = raw_input("Please enter your name: ")
nameList = list(name)
del nameList[1]
newName = str(nameList)
print"Your new name is: " + str(newName) + "."
当我使用这段代码时,问题是最后一行打印newName就像一个列表,即使我已将它转换为字符串。
Your new name is: ['j', 'k', 'e'].
我希望这个新名称像普通文本一样显示。我究竟做错了什么?
感谢。
答案 0 :(得分:5)
我认为你想使用join
字符串方法连接列表的元素:
>>> new_name = ['j', 'k', 'e']
>>> print ''.join(new_name)
jke
或者,根本不要将字符串转换为列表并使用字符串操作来实现您想要的效果:
>>> name = 'jake'
>>> new_name = name[:1] + name[2:]
>>> print new_name
jke
答案 1 :(得分:2)
我把代码搞砸了一下。试试这个:
name = raw_input("Please enter your name: ")
nameList = list(name)
del nameList[1]
test = ''.join(nameList)
print"Your new name is: " + test + "."
希望它有所帮助。 (:
答案 2 :(得分:1)
>>> import string
>>> v = string.ascii_uppercase[:20]
>>> v
'ABCDEFGHIJKLMNOPQRST'
>>> v = list(v)
>>> v[:10]
['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']
>>> v1 = ''.join(v)
>>> v1
'ABCDEFGHIJKLMNOPQRST'
或者,我相信您可以在单代码行中执行您想要的操作(一旦您检索了用户输入并将其绑定到变量),那么在第一行之后:
print("name is {0}{1}".format(name[:1], name[2:]))