在投射时将元组扩展为参数?
Expand tuple into arguments while casting them?
我有这个:
blah = random.randint(int(minmax[0]), int(minmax[1]))
我知道这是可能的:
minimum, maximum = int(minmax[0]), int(minmax[1])
blah = random.randint(minimum, maximum)
我可以使用元组参数扩展在一行中完成第二个吗?
例如,如果 minmax 是一个整数元组,我可以这样做:
blah = random.randint(*minmax)
但是我没有整数元组,我有一个字符串元组。显然,无论哪种方式都没什么大不了的。我只是好奇。
是的,这是可行的:
blah = random.randint(*map(int, minmax))
使用map(int, ...)
进行类型转换。
您可以使用 列表理解 表达式来 type-cast 到 int
的元素,然后将列表解压缩为:
random.randint(*[int(i) for i in minmax])
# ^ ^ type-cast minmax elements to `int`
# ^ unpack the `list`
我有这个:
blah = random.randint(int(minmax[0]), int(minmax[1]))
我知道这是可能的:
minimum, maximum = int(minmax[0]), int(minmax[1])
blah = random.randint(minimum, maximum)
我可以使用元组参数扩展在一行中完成第二个吗? 例如,如果 minmax 是一个整数元组,我可以这样做:
blah = random.randint(*minmax)
但是我没有整数元组,我有一个字符串元组。显然,无论哪种方式都没什么大不了的。我只是好奇。
是的,这是可行的:
blah = random.randint(*map(int, minmax))
使用map(int, ...)
进行类型转换。
您可以使用 列表理解 表达式来 type-cast 到 int
的元素,然后将列表解压缩为:
random.randint(*[int(i) for i in minmax])
# ^ ^ type-cast minmax elements to `int`
# ^ unpack the `list`