Python - 在传入[x,y]列表时打印"x" "y"次

7 投票
4 回答
16037 浏览
提问于 2025-04-16 11:19

我是一名刚接触Python的小白,正在做Python挑战,现在卡在一个关卡中。

比如说:([' ', 10], ['#', 20])

我想用Python打印空格10次,试了很多方法,但都没成功……

谢谢大家!

补充一下:我不是想学习如何使用for循环,而是想了解一些列表操作的技巧(这算不算是列表操作呢?),这样我就可以用列表中的任何值作为第一个元素来打印……不过还是谢谢大家的回复!

4 个回答

0

去看看for循环Python文档里的介绍,这里会告诉你怎么做你想要的事情。

1

在Python中,你可以用一个整数去乘一个字符串,这样就能得到这个字符串重复多次的版本:

>>> mystring = ' ' * 10
>>> mystring
'          '

很明显,你可以直接打印这个表达式的结果:

>>> print '#' * 20
####################

这个方法同样适用于元组和列表:

>>> (1,2,3) * 2
(1, 2, 3, 1, 2, 3)
>>> ['a','b','c'] * 3
['a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c']
18
print ' ' * 10

和你对待其他字符一样,比如:

print 'a' * 10

所以对于你的列表,假设它叫做 l

for c, n in l:
    print c * n

撰写回答