簡體   English   中英

更改列表內的變量的值而無需直接引用該變量

[英]Changing the value of a variable that is inside of a list without directly referencing the variable

我有大量的變量,每個變量都需要分配一個隨機值。

我一直在嘗試更改變量的值,而不必將每個變量都更改為選定的隨機值。

但是,似乎我沒有正確地進行此操作。

Whales = 0

List = [Whales]

a = random.randint(1,10)

List[0] = a

顯然,這會將List的0槽更改為a,而不是將Whales的變量更改為a,因此我想知道如何在不直接添加類似內容的情況下進行操作:Whales = a

也許您可以將您的“變量”存儲在字典中。 就像是

import random

vars = ['whales', 'cats']
vars_dict = {v: random.randint(1, 10) for v in vars}
print(vars_dict)

產量

{'whales': 3, 'cats': 5}

如果確實需要它們作為變量,則可以使用字符串按名稱訪問它們。 否則,去字典。

Whales = 6
var_list = ['Whales']
globals()[var_list[0]]
>>> 6
globals()[var_list[0]] = 7
globals()[var_list[0]]
>>> 7

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM