我做了一堆我想存盤的矩陣,python dictionaries我總是發現自己為每個state我想要構建的東西輸入相同的東西,即
Ne21_1st_state = {}
Ne21_2nd_state = {}
Ne21_3rd_state = {}
Ne21_4th_state = {}
Ne21_5th_state = {}
Ne21_6th_state = {}
...
Ne21_29th_state = {}
Ne21_30th_state = {}
有人可以幫我使用 python 自動化for loops嗎?
提前致謝!
我想要這樣的東西:
for i in range(3, 11):
states = f'Ar36_{i}th_state'
print(states)
輸出將是:
Ar36_3th_state
Ar36_4th_state
Ar36_5th_state
Ar36_6th_state
Ar36_7th_state
Ar36_8th_state
Ar36_9th_state
Ar36_10th_state
但不是列印它,而是創建名為Ar36_3th_state, Ar36_4th_state, Ar36_5th_state, ...
uj5u.com熱心網友回復:
我們不能做一個字典串列嗎
30 個(或任何 N 個)元素的串列,其中每個元素都是一個字典,鍵= " Ar36_{i}th_state " 和值= {你想要的任何值}
uj5u.com熱心網友回復:
您可以創建偽變數的“名稱”并將其用作字典中的鍵,例如:
my_dic = {1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e'}
my_empty_dic = {}
solution = {}
for i in range(1, 31):
name = 'Ne21_' str(i) 'st_state'
#solution[name] = my_dic
solution[name] = my_empty_dic
for pseudo_variable in solution:
print(pseudo_variable, solution[pseudo_variable])
print(solution['Ne21_16st_state'])
for pseudo_variable in solution:
if '_16st' in pseudo_variable:
print(pseudo_variable, solution[pseudo_variable])
uj5u.com熱心網友回復:
我這樣做的一種方法是使用串列理解。
key = list(
str(input(f"Please enter a Key for value {x 1}: "))
if x == 0
else str(input(f"\nPlease enter a Key for value {x 1}: "))
for x in range(3))
value = list(str(input(f"\nPlease enter a Bool for value {x 1}: "))
for x in range(3))
BoolValues = dict(zip(key, value))
我首先創建一個鍵串列,然后是要存盤在鍵中的值串列。然后我把它們一起壓縮成字典。第一個串列中的條件陳述句只是為了更好的用戶體驗,如果它通過了第一個輸入,則添加 \n。
實際上,現在我回顧這個問題可能與我的想法略有不同,您是否正在嘗試為每個矩陣創建新字典?如果是這種情況,是否與此類似?:如何在回圈中創建不同的變數名?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/411446.html
標籤:
