最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中的解包(tuple和dict的解包、*、**)的幾種使用方法

 更新時間:2025年11月24日 09:50:41   作者:Le0v1n  
本文主要介紹了Python中的解包的使用,包括uple和dict的解包、*、**,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1. 問題

為什么 np.random.randn(*images_example.shape) 中的 images_example.shape 前面需要加 *?

2. 解決問題

在 Python 里面,* 表示解包(一般是用于 List 和 Tuple),** 也是解包,但它用于 字典 Dict 的解包。因此,images_example.shape 前面的 * 其實也是解包的意思。

對于一個 tensor,它的屬性 .shape返回的是一個 Tuple(元組),但 np.random.randn() 的里面要的參數(shù)不能是一個 Tuple 對象,而應(yīng)該是 int。所以這里的 * 其實就是把 Tuple 拆成了 int。

3. 例子

example_list = [1, 2, 3]
print(f"{example_list = }")
print(f"{type(example_list) = }")
print("*example_list:", *example_list)
print()

example_tuple = (1, 2, 3)
print(f"{example_list = }")
print(f"{type(example_list) = }")
print("*example_tuple:", *example_list)

結(jié)果如下:

example_list = [1, 2, 3]
type(example_list) = <class 'list'>
*example_list: 1 2 3

example_list = [1, 2, 3]
type(example_list) = <class 'list'>
*example_tuple: 1 2 3

這個例子中,我們看到:

  • [1, 2, 3] 經(jīng)過 * 后變?yōu)榱?1 2 3 這樣很詭異的樣子
  • (1, 2, 3) 經(jīng)過 * 后變?yōu)榱?1 2 3 這樣很詭異的樣子

為什么說它"詭異"呢?

因為它的類型是不能求的,會報錯:

tuple = (1, 2, 3)
print("type(*tuple):", type(*tuple))

結(jié)果如下:

Traceback (most recent call last):
  File "C:\Users\Leovin\Desktop\Desktop\pytorch\books\src\leovin\Encoder & Decoder\Exp_3.py", line 2, in <module>
    print("type(*tuple):", type(*tuple))
TypeError: type.__new__() argument 1 must be str, not int

那么 1 2 3 這種詭異的形式放到 np.random.randn() 中會怎么樣?那么是分批放入,還是一起放入?我們做一個驗證就可以知道了:

import numpy as np


a = (1, 2, 3)
np.random.seed(42)
A = np.random.randn(*a)

np.random.seed(42)
B = np.random.randn(1, 2, 3)

print(f"{A = }")
print(f"{B = }")

結(jié)果如下:

A = array([[[ 0.49671415, -0.1382643 ,  0.64768854],
        [ 1.52302986, -0.23415337, -0.23413696]]])
B = array([[[ 0.49671415, -0.1382643 ,  0.64768854],
        [ 1.52302986, -0.23415337, -0.23413696]]])

那么,答案很清晰了。(1, 2, 3) 這個 Tuple 被拆成了 1 2 3,是按照 1, 2, 3 這樣的樣子放進(jìn) np.random.randn() 當(dāng)中的,即 np.random.randn(*(1, 2, 3)) <=> np.random.randn(1, 2, 3)。

到此這篇關(guān)于Python中的解包(tuple和dict的解包、*、**)的幾種使用方法的文章就介紹到這了,更多相關(guān)Python 解包內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python 腳本實現(xiàn)淘寶準(zhǔn)點秒殺功能

    Python 腳本實現(xiàn)淘寶準(zhǔn)點秒殺功能

    這篇文章主要介紹了python實現(xiàn)淘寶準(zhǔn)點秒殺腳本,本文圖文實例相結(jié)合給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-11-11
  • pycharm開發(fā)工具使用plt.show()不顯示圖像的解決方案

    pycharm開發(fā)工具使用plt.show()不顯示圖像的解決方案

    文章描述了在使用PyCharm開發(fā)工具時,`plt.show()`不顯示圖像的問題,并提供了兩種解決方法:首先是在設(shè)置中取消勾選“PythonScientific”選項,然后重新運行程序即可顯示圖像
    2026-03-03
  • Python爬蟲運用正則表達(dá)式的方法和優(yōu)缺點

    Python爬蟲運用正則表達(dá)式的方法和優(yōu)缺點

    這篇文章主要給大家介紹了關(guān)于Python爬蟲運用正則表達(dá)式的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • python之enumerate用法小結(jié)

    python之enumerate用法小結(jié)

    enumerate()是Python內(nèi)置的一個非常有用的函數(shù),常常用來在循環(huán)中獲取元素的索引和元素的值,下面就來介紹一下enumerate用法小結(jié),感興趣的可以了解一下
    2025-08-08
  • Python使用pytz實現(xiàn)時區(qū)使用與轉(zhuǎn)換的示例詳解

    Python使用pytz實現(xiàn)時區(qū)使用與轉(zhuǎn)換的示例詳解

    這篇文章主要為大家詳細(xì)介紹了Python如何使用pytz實現(xiàn)時區(qū)使用與轉(zhuǎn)換,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,有需要的小伙伴可以了解下
    2025-11-11
  • Python+OpenCV實現(xiàn)相機(jī)標(biāo)定的方法詳解

    Python+OpenCV實現(xiàn)相機(jī)標(biāo)定的方法詳解

    opencv中內(nèi)置了張正友的棋盤格標(biāo)定法,通過一些姿態(tài)各異的棋盤格圖像,可以標(biāo)定相機(jī)的內(nèi)外參數(shù),本文為大家介紹OpenCV進(jìn)行相機(jī)標(biāo)定的具體方法,希望對大家有所幫助
    2023-05-05
  • python讀取Android permission文件

    python讀取Android permission文件

    python解析json文件讀取Android permission,同時可以學(xué)習(xí)到j(luò)son的知識。
    2013-11-11
  • Django中模版的子目錄與include標(biāo)簽的使用方法

    Django中模版的子目錄與include標(biāo)簽的使用方法

    這篇文章主要介紹了Django中模版的子目錄與include標(biāo)簽的使用方法,有利于Python的Django框架的模版布局,需要的朋友可以參考下
    2015-07-07
  • Mac下卸載PyCharm實現(xiàn)方法

    Mac下卸載PyCharm實現(xiàn)方法

    本文主要講解了Mac下PyCharm的卸載方法,包括刪除應(yīng)用程序文件、應(yīng)用支持文件、偏好設(shè)置數(shù)據(jù)、緩存數(shù)據(jù)、日志數(shù)據(jù)、設(shè)置文件、程序狀態(tài)文件和診斷及崩潰日志文件等步驟
    2026-05-05
  • Python 實現(xiàn)list,tuple,str和dict之間的相互轉(zhuǎn)換

    Python 實現(xiàn)list,tuple,str和dict之間的相互轉(zhuǎn)換

    這篇文章主要介紹了Python 實現(xiàn)list,tuple,str和dict之間的相互轉(zhuǎn)換,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03

最新評論

平舆县| 南城县| 山阳县| 岗巴县| 宁国市| 西丰县| 万盛区| 乐山市| 封开县| 凤城市| 托里县| 新竹市| 沙河市| 突泉县| 伊金霍洛旗| 乌兰县| 富源县| 石泉县| 福安市| 本溪| 无极县| 富蕴县| 阿合奇县| 洱源县| 错那县| 桐柏县| 永和县| 昌江| 鹿邑县| 布尔津县| 阳曲县| 伊吾县| 宁夏| 慈利县| 莱州市| 社会| 宝鸡市| 永丰县| 涿州市| 禹州市| 隆尧县|