Python - 在传入[x,y]列表时打印"x" "y"次
我是一名刚接触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