当Python打印for循环时,如何删除空格?

当Python打印for循环时,如何删除空格?,python,Python,我是Python新手。尝试创建一个简单函数,通过dict值将字符串输入转换为盲文(其中“1”表示凹凸,0表示无凹凸) 我确信有更快/更好的方法可以做到这一点,但我所拥有的几乎是有效的(另一种说法是根本不起作用) 这张照片是: 000001101000 010100 010111 010100 我的问题是如何删除空格?我需要将其打印为: 000001101000010100010111010100 它正在打印为元组,因此我无法使用.strip() 在函数的第一行中,创建一个容器l=[]。将循环

我是Python新手。尝试创建一个简单函数,通过dict值将字符串输入转换为盲文(其中“1”表示凹凸,0表示无凹凸)

我确信有更快/更好的方法可以做到这一点,但我所拥有的几乎是有效的(另一种说法是根本不起作用)

这张照片是:

000001101000 010100 010111 010100
我的问题是如何删除空格?我需要将其打印为:

000001101000010100010111010100

它正在打印为元组,因此我无法使用.strip()

在函数的第一行中,创建一个容器
l=[]
。将循环中的最后一条语句更改为
l.append(value)
。在循环外部,但仍在函数内部,执行
返回“”。join(l)
。现在应该工作了。

< P>我认为是一种纵横的方式:

def answer(plaintext):
    alphabet = { ... }
    return "".join([alphabet[c] for c in plaintext])
(这假设
纯文本中的所有字母都是
字母表中的

您可以在
生成器中使用
join()
,如下所示:

alphabet = {'a': '100000','b': '110000','c': '100100','d': '100110'}

def answer(a = ''):
    for i in a:
        for key, value in alphabet.iteritems():
            if i in key:
                yield value

print ''.join(answer('abdaac'))
输出:

>>> 100000110000100110100000100000100100

在Python中操作打印的一种方法是使用end参数。默认情况下,它是换行符

print("foo")
print("bar")
将按如下方式打印:

foo
bar
foobar
为了使这两条语句打印在同一行上,我们可以这样做:

print("foo",end='')
print("bar",end='')
这将像这样打印:

foo
bar
foobar

希望这是解决此类问题的一种有用方法。

非常感谢您的重复!这很好用。我理解明文中通过每个c的循环,并且dict值是在没有空格的情况下连接的,但是你能简单地解释一下其余部分是如何工作的吗?特别是字母[c]?
alphabet
是一个dict,所以
alphabet[c]
是我理解的明文中该字母的编码。再次感谢。