How to Create Different Variable Names While in a Loop

How do you create different variable names while in a loop?

Sure you can; it's called a dictionary:

d = {}
for x in range(1, 10):
d["string{0}".format(x)] = "Hello"
>>> d["string5"]
'Hello'
>>> d
{'string1': 'Hello',
'string2': 'Hello',
'string3': 'Hello',
'string4': 'Hello',
'string5': 'Hello',
'string6': 'Hello',
'string7': 'Hello',
'string8': 'Hello',
'string9': 'Hello'}

I said this somewhat tongue in check, but really the best way to associate one value with another value is a dictionary. That is what it was designed for!

How to create variable names with a "for" loop?

Creating variables dynamically is an anti-pattern and should be avoided. What you need is actually a list:

total_squares = 8
box_list = []
boxes = [0] * total_squares
for q in range(total_squares):
box_list.append(boxes[q])

Then you can refer to any element you want (say, box_i) using the following syntax:

my_box = box_list[boxes[i]]

How do I create dynamic variable names inside a loop?

Use an array for this.

var markers = [];
for (var i = 0; i < coords.length; ++i) {
markers[i] = "some stuff";
}

How to create variables with different names in for loop iterations in R?

You can save the results in a list using sapply. This would typically make more sense than saving each one as a separate object in the global environment.

avg = sapply(df, mean, simplify = FALSE, USE.NAMES = TRUE)

The you can access each one like this

avg$bh
# [1] 3
avg$gh
# [1] 3.2

Run a loop to generate variable names in Python

Use the inbuilt glob package

from glob import glob

fullpath = f'C:\Users\siddhn\Desktop\phone[1-6].csv'
dfs = [pd.read_csv(file) for file in glob(fullpath)]

print(dfs[0])

How to create different variables names while in a loop in VBA

Try something like this:

    Dim Graph As Variant
Dim dic As Object, col As String

Set dic = CreateObject("Scripting.Dictionary")
dic.Add "1", "L"
dic.Add "2", "K"
dic.Add "3", "E"
dic.Add "4", "B"
dic.Add "5", "U"
dic.Add "6", "AB"
dic.Add "7", "I"

For Each Graph In dic.Keys
col = dic(Graph)
With ActiveSheet.ChartObjects("Graph" & Graph).Chart.FullSeriesCollection(1)
.Name = "='BL-remove'!$" & col & "$23"
.XValues = "='BL-remove'!$A$24:$A$4523"
.Values = "='BL-remove'!" & col & "$24:$" & col & "$4523"
End With
Next Graph

PHP - How Can I Create Variable Names Within a Loop?

There are several ways. One is via a string and a double $, but I don't like this method. A programmer could easily remove the double $ (seeing it as a typeo).

for($i = 0; $i <= 7; $i++) {
$name = "variable{$i}";
$$name = "foo";
}

The best approach is the explicit statement.

for($i = 0; $i <= 7; $i++) {
${"variable$i"} = "foo";
}

With the explicit inline string there is no doubt about the intent of what you're doing. Another PHP programmer will not alter the code by mistake.

For Loop with Changing Variable Names

You don't need dynamic variables names. You need variables to dynamically refer to different objects. You can simply add a another for-loop with arrays to reuse the same code.

Assuming variableNames are sheetNames,

const sheetNames = ['civil', 'struct', 'avl', 'fpm', 'electrical', 'arch'];
const ss = SpreadsheetApp.getActive();
for (let si = 0; si < sheetNames.length; si++) {
let thisSheet = ss.getSheetByName(sheetNames[si]);
let thisData = thisSheet.getRange('A:A').getValues();
for (let j = 0; j < thisData.length; j++) {
if (thisData[j][0] == '~Hot List~') {
let thisHot = j + 3;
} else if (thisData[j][0] == '~Coordination Items~') {
let thisCoord = j + 1;
} else if (thisData[j][0] == '~Responsibilities~') {
let thisResp = j + 1;
}
}
}


Related Topics



Leave a reply



Submit