Python是什么' *'用于

时间:2014-12-20 17:48:58

标签: python arrays

所以这是我的代码:

user_input = input('What number would you like to convert?: ')
binary = []
num = int(user_input)
while num != 0:
    remainder = num % 2
    num = (num - remainder)  / 2
    binary.append(int(remainder))
print(user_input, 'in binary is: ', end='')
print(*reversed(binary), sep='')

为什么在打印数组之前必须先输入'*'?我到处寻找,无法找到它的作用和用途。

提前致谢, 罗布

1 个答案:

答案 0 :(得分:0)

这被称为" splat"运营商。有关它的更多信息,请参阅the Python documentation on it

它基本上做的是:

print(reversed(binary)[0], reversed(binary)[1], ..., sep='')

本质上,它使用数组元素作为参数,而不是将数组作为单个参数本身传递。

>>> lst = [1, 2, 3]
>>> print(lst)  # equivalent to `print([1, 2, 3])'
[1, 2, 3]
>>> print(*lst) # equivalent to `print(1, 2, 3)'
1 2 3
>>> print(reversed(lst))
<list_reverseiterator object at 0x7f4863ae4a20>
>>> print(*reversed(lst))
3 2 1