在python中消除输出中的字符

在python中消除输出中的字符,python,Python,如果有人写“james”,我希望我的程序将他们的名字命名为j*a*m*e*s 我认为这很简单: for letter in name: print letter+' *', 但我不知道如何在最后摆脱最后一个asterix 我有一个朋友给我展示了C语言…所以我理解了它的基本概念,而不是如何实现它。 C如下: #include <string.h> #include <stdio.h> int main(int argc, char* argv[]) { int i

如果有人写“james”,我希望我的程序将他们的名字命名为j*a*m*e*s 我认为这很简单:

for letter in name:
 print letter+' *',
但我不知道如何在最后摆脱最后一个asterix

我有一个朋友给我展示了C语言…所以我理解了它的基本概念,而不是如何实现它。 C如下:

#include <string.h>
#include <stdio.h>

int main(int argc, char* argv[]) {
  int i;

  for ( i = 1; i < argc; i++ ) {
    int len = strlen(argv[i]);
    int j;

    for (j = 0; j < len-1; j++)
      printf("%c*",argv[i][j]);

    printf("%c\n",argv[i][j]);
  }

  return 0;
}
#包括
#包括
int main(int argc,char*argv[]){
int i;
对于(i=1;i
Python中有一种更简单的方法:

>>> '*'.join('james')
'j*a*m*e*s'
这利用了Python中字符串是可编辑的这一事实。

很容易:

name = 'james'
print '*'.join(name)
编辑

为了理解它是如何完成的,这里有一个更详细的代码来解释这个概念

name = 'james'

decorated_name = name[0]

for letter in name[1:]:
    decorated_name = decorated_name + '*' + letter

print decorated_name

在重新发明轮子之前,请始终查看是否有其他方法:p.

有没有任何方法可以使用迭代来完成此操作?@Elsavador:上面的方法确实使用迭代(
join
迭代
'james'
)的字符。你能澄清一下你的确切意思吗?
>>> "*".join(list("James"))
'J*a*m*e*s'