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

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

在 python 中解壓為 int 和 string

在 python 中解壓為 int 和 string

守候你守候我 2023-04-11 15:58:51
有沒有辦法解壓成不同的類型?是這樣的:# data = [4, "lorem", "ipsum", "dolor", "sit", "amet"] (parts, *words) = datadata提供。我從不分配這個值。我添加作為例子。 parts必須是一個 int,列表的所有其余部分都被分配為字符串列表。我發現的唯一方法是將變量重新分配parts為下一個:(parts, *words) = [4, "lorem", "ipsum", "dolor", "sit", "amet"] parts = int(parts)但我不喜歡連續兩次重復賦值變量。由于 python 是一種保持簡潔的語言,因此我正在尋找解決方案。*編輯:讓我知道連續兩次重新分配是否有效。
查看完整描述

2 回答

?
BIG陽

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

在 Python 的靜態類型注釋中,lists(以及除tuples 之外的所有序列)被假定為同類類型(它可能仍然是多種類型的聯合,但它不是不同的單一類型,具體取決于您正在查看的索引) . 您通過讓索引具有一種類型而其他索引具有不同類型來list違反該假設。0盡管 Python 通常不會強制執行 的“預期”用法list,但類型檢查器會執行,并且沒有任何機制可以解決手動強制轉換或類型轉換的問題,就像您在此處所做的那樣。

簡短回答:你在“濫用” lists,typing當你這樣做時不會幫助你。因此,要么忽略/禁用此代碼的類型檢查器(畢竟它會工作得很好),要么忍受毫無意義的轉換。


查看完整回答
反對 回復 2023-04-11
?
慕森王

TA貢獻1777條經驗 獲得超3個贊

這個怎么樣?它測試每個項目的類型,并根據需要將其放入適當的列表中。


data = [4, "lorem", "ipsum", "dolor", "sit", "amet"]

parts = []

words = []

[parts.append(item) if type(item) == int else words.append(item) for item in data]


查看完整回答
反對 回復 2023-04-11
  • 2 回答
  • 0 關注
  • 133 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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