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

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

在 python 中一次重新縮放多個變量

在 python 中一次重新縮放多個變量

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

4 回答

?
米琪卡哇伊

TA貢獻1998條經(jīng)驗 獲得超6個贊

我建議使用像 numpy 這樣的優(yōu)化庫并使用矩陣/數(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])


查看完整回答
反對 回復 2023-12-20
?
慕村225694

TA貢獻1880條經(jīng)驗 獲得超4個贊

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

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

無論如何,我建議使用 NumPy,因為它經(jīng)過了相當大的優(yōu)化,并且解決方案更容易閱讀。


查看完整回答
反對 回復 2023-12-20
?
繁華開滿天機

TA貢獻1816條經(jīng)驗 獲得超4個贊

一個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


查看完整回答
反對 回復 2023-12-20
?
慕斯王

TA貢獻1864條經(jīng)驗 獲得超2個贊

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


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

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

你可以將其封裝在一個小類中,然后使用就非常簡潔了:


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


查看完整回答
反對 回復 2023-12-20
  • 4 回答
  • 0 關(guān)注
  • 317 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

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