亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在python中將列表和單個元素組合成一個元組?

如何在python中將列表和單個元素組合成一個元組?

慕田峪7331174 2022-05-24 13:07:24
我在 python3 中有一些變量:a = 1b = [2,3,4]c = 5我想得到一個來自上述變量的元組,比如:(1,2,3,4,5)在 python3 中最簡單的方法是什么?
查看完整描述

3 回答

?
UYOU

TA貢獻1878條經驗 獲得超4個贊

在 Python 中創建一個元組就像將你需要的東西放在一個括號中的元組中一樣簡單:


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

如果你想要在元組中的東西是可以解包的其他東西,比如列表或元組本身,你可以使用解包運算符*將它解包到新的元組中:


a = 1

b = [2,3,4]

c = 5

my_tuple = (a, *b, c)

不是您的問題,但請注意,您也可以在不使用*運算符的情況下從元組中獲取內容,因為它隱含在賦值語句中:


x, _, z = my_tuple  # continued from before

在此示例中,a( 1) 中的內容現在也在其中,x而 中的內容c也在 中z。元組中b和第二個位置的內容被丟棄(這就是_這里下劃線的意思,“不在乎”。)


如果您明確需要解包并且正在構建一些新變量,或者需要單獨元組的元素,它們也可以用作元組,則可以使用解包運算符。例如,調用函數時:


a_tuple = ('Hi there', 'John')



def greeting(phrase='Hello', name='world'):

    print(f'{phrase}, {name}!')



greeting(*a_tuple)

在這個例子中,調用greetingasgreeting(a_tuple)會給你帶來非常討厭的結果('Hi there', 'John'), world!,顯然不是你想要的,但你仍然可以使用帶有 unpack 操作符的元組。


另一個明顯的例子是解決 OP 問題的例子。


查看完整回答
反對 回復 2022-05-24
?
瀟湘沐

TA貢獻1816條經驗 獲得超6個贊

只需創建一個新元組,如下所示。

newTuple=(a, *b, c)

注意: *b 將列表 b 解包變量,并將每個變量添加到newTuple的索引中


查看完整回答
反對 回復 2022-05-24
?
慕容708150

TA貢獻1831條經驗 獲得超4個贊

其中一種方式如下圖所示


from functools import reduce

import operator


# create a bunch of lists, reduce them to one list and finally convert to tuple

result = tuple(reduce(operator.add, ([a], b, [c])))

print(result)


查看完整回答
反對 回復 2022-05-24
  • 3 回答
  • 0 關注
  • 253 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號