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