第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在 python 中一次重新縮放多個(gè)變量

在 python 中一次重新縮放多個(gè)變量

飲歌長(zhǎng)嘯 2023-12-29 15:07:56
在 python 中處理多個(gè)變量賦值時(shí),當(dāng)我嘗試一次重新調(diào)整所有變量時(shí),我發(fā)現(xiàn)它根本不是Pythonic 。請(qǐng)分享您的想法。例如,我想要的是:a,b,c,d=1,2,3,4(原作業(yè))a,b,c,d=2,4,6,8(目標(biāo)。即,重新調(diào)整 2 倍)假設(shè)現(xiàn)在您有 3000 個(gè)變量。是否有可能像Python一直在做的那樣,一行代碼達(dá)到同樣的目標(biāo)?謝謝!更新:使用字典或使用 NumPy 數(shù)組可能是評(píng)論或其他帖子建議的解決方案。但這不是我想要的。我是一個(gè)重度Mathematica用戶(hù),你可以像這樣簡(jiǎn)單地做到這一點(diǎn){a,b,c,d}={1,2,3,4}(通過(guò) Mathematica 列表進(jìn)行的原始作業(yè)){a,b,c,d}={1,2,3,4}*2(現(xiàn)在目標(biāo)已經(jīng)達(dá)到。)基本上,我正在Python中尋找類(lèi)似的解決方案。
查看完整描述

4 回答

?
不負(fù)相思意

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超10個(gè)贊

我建議使用像 numpy 這樣的優(yōu)化庫(kù)并使用矩陣/數(shù)組。


import numpy as np 


a,b,c,d=1,2,3,4

print(a,b,c,d)


# Create array

array = np.array([a,b,c,d])


# Calculate

array = 2*array


# Assign variables again

a,b,c,d = array

print(a,b,c,d)


# Or as a two liner

a,b,c,d=np.array([1,2,3,4])

a,b,c,d=2*np.array([1,2,3,4])


查看完整回答
反對(duì) 回復(fù) 2023-12-29
?
明月笑刀無(wú)情

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超4個(gè)贊

我很確定你要找的東西不存在,因?yàn)?Python 不像 Mathematica 那樣“面向數(shù)學(xué)”。但是,如果您需要一個(gè)沒(méi)有庫(kù)、數(shù)據(jù)結(jié)構(gòu)或其他東西并且只有一行的解決方案,我建議如下:

(a,b,c,d) = tuple(map((2).__mul__, (a,b,c,d)))

無(wú)論如何,我建議使用 NumPy,因?yàn)樗?jīng)過(guò)了相當(dāng)大的優(yōu)化,并且解決方案更容易閱讀。


查看完整回答
反對(duì) 回復(fù) 2023-12-29
?
回首憶惘然

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超11個(gè)贊

好吧,天真的 Pythonic 方式是這樣的:


a, b, c, d = (2 * x for x in (1, 2, 3, 4))

print(a, b, c, d)  # Prints 2,4,6,8

你可以將其封裝在一個(gè)小類(lèi)中,然后使用就非常簡(jiǎn)潔了:


class F(object):

    def __init__(self, *args):

        self._args = args


    def __mul__(self, other):

        return (x * other for x in self._args)

   

    def __rmul__(self, other):

        return (other * x for x in self._args)

    

a, b, c, d = F(1, 2, 3, 4) * 2

print(a, b, c, d)  # Prints 2,4,6,8


查看完整回答
反對(duì) 回復(fù) 2023-12-29
?
慕哥6287543

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超10個(gè)贊

一個(gè)pandas系列可能就是你想要的。


import pandas as pd

>>> data = pd.Series([1,2,3,4], index=['a', 'b', 'c', 'd'])

>>> data

a    1

b    2

c    3

d    4

dtype: int64

>>> data *= 2

>>> data

a    2

b    4

c    6

d    8

>>> data['a']

2


查看完整回答
反對(duì) 回復(fù) 2023-12-29
  • 4 回答
  • 0 關(guān)注
  • 210 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)