首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在python中将列表和单个元素组合成一个元组?

如何在python中将列表和单个元素组合成一个元组?
EN

Stack Overflow用户
提问于 2019-09-10 01:58:00
回答 4查看 226关注 0票数 3

在python3中有几个变量:

代码语言:javascript
复制
a = 1
b = [2,3,4]
c = 5

我想从上面的变量中得到一个元组,比如:(1,2,3,4,5)

在python3中,最简单的方法是什么?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-09-10 02:12:32

在Python中创建元组就像将所需的内容放在括号中的元组中一样简单:

代码语言:javascript
复制
my_tuple = (1, 2, 3)
a = 1
b = 2
c = 3
another_tuple = (a, b, c)  # also works with variables, or anything else with a value

如果您在元组中想要的是其他可以解压缩的内容,比如列表或元组本身,您可以使用解压缩操作符*将其解压缩到新的元组中:

代码语言:javascript
复制
a = 1
b = [2,3,4]
c = 5
my_tuple = (a, *b, c)

这不是您的问题,但请注意,您也可以在不使用*运算符的情况下从元组中获取内容,正如赋值语句中所暗示的那样:

代码语言:javascript
复制
x, _, z = my_tuple  # continued from before

在本例中,a (1)中的内容现在也在x中,c中的内容也在z中。b中的内容和元组的第二个位置都会被丢弃(这就是这里的下划线_的意思,“不要在意”)。

在显式需要解压缩并且正在构造一些新变量的情况下,使用unpack运算符,或者需要元组的元素单独使用,这些元素也可以作为元组使用。例如,当调用一个函数时:

代码语言:javascript
复制
a_tuple = ('Hi there', 'John')


def greeting(phrase='Hello', name='world'):
    print(f'{phrase}, {name}!')


greeting(*a_tuple)

在本例中,将greeting调用为greeting(a_tuple)会给出('Hi there', 'John'), world!的非常糟糕的结果,这显然不是您想要的结果,但是您仍然可以使用元组和unpack操作符。

另一个明显的例子是一个解决OP问题的例子。

票数 1
EN

Stack Overflow用户

发布于 2019-09-10 02:22:53

只需创建一个新的元组,如下所示。

代码语言:javascript
复制
newTuple=(a, *b, c)

注释: *b将b解压缩到变量中,并将每个变量添加到newTuple的索引中

票数 1
EN

Stack Overflow用户

发布于 2019-09-10 02:26:36

这是最重要的丙酮溶液:

代码语言:javascript
复制
a = 1
b = [2,3,4]
c = 5
res = a,*b,c
# output: (1,2,3,4,5)

注意事项:要创建新的元组,在Python3中不需要圆括号

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57863094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档