print(''.join(map(str,range(1,n+1))))
就像str在这里做的一样?如何在单行中输出?我知道地图和连接是什么,但我仍然不清楚整个代码
答案 0 :(得分:4)
numbers_one_to_n = range(1,n+1)
numbers_as_strings = map(str, numbers_one_to_n)
numbers_joined_to_single_string = ''.join(numbers_as_strings)
print(numbers_joined_to_single_string)
答案 1 :(得分:1)
print(''.join(map(str,range(1,n+1))))
你说你知道map
的作用吗?文档说:
map(function, iterable, ...)
Return an iterator that applies function to every item of iterable, yielding the result.
所以str
就是这个功能。 iterable是整数的range
(在Python 3中,这是一个range
对象)
str
返回从其参数生成的字符串对象。
因此,为范围中的每个整数调用str
。
map
的替代方案是列表理解,有些人更喜欢:
print(''.join([str(i) for i in range(1,n+1)]))
答案 2 :(得分:0)
''
是一个分隔符,用于连接元素之间(字符串序列中的字符串或字符串中的字符)。例如:
>>> '-'.join(('foo', 'bar'))
'foo-bar'
>>> '-'.join('bar')
'b-a-r'
str
是一种类型和转换为此类型的函数。
因此,map(str, list_of_integers)
将此列表转换为字符串列表。因为map
将函数应用于输入列表的每个元素以获取输出列表。
因此,我们将范围从1到(n + 1),已转换为字符串列表,然后此列表已与空切刀''
连接。