在某些样式的python中,一切都是生成器,例如使用yield而不是构造和return列表.如果您需要将其用作列表,您只需拨打电话即可list(gen).
如果我已经有一个清单,那么打电话的费用是list(my_list)多少?
使用:我有一个变量,我知道它有一个迭代器,可能是一个列表,但我需要将它用作列表.更好/更pythonic做my_list = list(my_list)或其他方式检查其列表?
如果重要我正在使用Python 3.5.
如果你打电话,list(x)你肯定会创建一个新列表,即使x已经是一个列表.如果你想避免它,你可以isinstance(x, list)用来检查是否x是一个列表.
if not isinstance(x, list):
x = list(x)
Run Code Online (Sandbox Code Playgroud)