我想从几个不同的元素创建一个元组,其中一个是列表,但我希望在创建元组时将此列表转换为单个元素。
a = range(0,10)
b = 'a'
c = 3
tuple_ex = (a,b,c)
tuple_ex中存储的值为:([0,1,2,3,4,5,6,7,8,9],' a', 3)
我希望存储在tuple_ex中的值是:(0,1,2,3,4,5,6,7,8,9,' a&#39 ;,3)
有一种简单的方法可以做到这一点还是我需要编码呢?
答案 0 :(得分:9)
您可以使用Python3的解包:
a = range(0,10)
b = 'a'
c = 3
t = (*a,b,c)
输出:
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'a', 3)
对于Python2:
import itertools
t = tuple(itertools.chain.from_iterable([[i] if not isinstance(i, list) else i for i in (a, b, c)]))
输出:
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'a', 3)
答案 1 :(得分:2)
试试这个:
tuple(list(a) + [b] + [c])