Python 将整数或整数列表转换为集合

Python 将整数或整数列表转换为集合,python,python-3.x,Python,Python 3.x,我想使用set函数将一些数据转换为一个集合。数据可以是单个整数,也可以是整数列表。set[list of integers]工作时,setinteger失败。目前,我检查数据的类型,然后直接转换列表,或者创建一个集合并添加单个值 由于这似乎很复杂,几乎无法实现,我想知道是否有一种更简单/更短/更好的方法来处理这一问题?Python最佳实践表明这是可行的。因此,我会: value1 = 2 try: vset = set(value1) except TypeError: vset = s

我想使用set函数将一些数据转换为一个集合。数据可以是单个整数,也可以是整数列表。set[list of integers]工作时,setinteger失败。目前,我检查数据的类型,然后直接转换列表,或者创建一个集合并添加单个值


由于这似乎很复杂,几乎无法实现,我想知道是否有一种更简单/更短/更好的方法来处理这一问题?

Python最佳实践表明这是可行的。因此,我会:

value1 = 2
try:
  vset = set(value1)
except TypeError:
  vset = set([value1])

尝试:事物=凝灰岩;除了类型错误:thing=setstuff,?与其显式检查类型,您只需关心是否可以将其直接放入一个集合中,或者是否需要将其包装在一个iterable中。@AvinashRaj在尝试迭代l=1时会遇到完全相同的问题:TypeError:“int”对象不是iterable。@AvinashRaj数据可能是单个整数,也可能是integers@jonrsharpe,你应该做出正确的回答。我要补充的是,最好通过自己在列表中传递单个int来避免这种情况。@jornsharpe,我的意思是maybe int-maybe列表变量通常是不好的样式。Python允许您这样做并不意味着您应该这样做。