简体   繁体   English

将不同的值连接到 python 中的变量

[英]concat a varying value to a variable in python

instead of repeating the line multiple times can I concat a varying value in a variable so I change the variable after every iteration in a loop我可以在变量中连接一个不同的值,而不是多次重复该行,这样我就可以在循环中的每次迭代后更改变量

ac2=AgglomerativeClustering(n_clusters = 2, affinity = 'euclidean', linkage = 'average')
ac3=AgglomerativeClustering(n_clusters = 3, affinity = 'euclidean', linkage = 'average')
ac4=AgglomerativeClustering(n_clusters = 4, affinity = 'euclidean', linkage = 'average')
ac5=AgglomerativeClustering(n_clusters = 5, affinity = 'euclidean', linkage = 'average')
ac6=AgglomerativeClustering(n_clusters = 6, affinity = 'euclidean', linkage = 'average')

is there a method using for loop to make this shorter something like this-有没有一种方法使用 for 循环来缩短它,就像这样-

for i in range(2,7):
    ac+i=AgglomerativeClustering(n_clusters = i, affinity = 'euclidean', linkage = 'average')

you can use a dictionary你可以用字典

val = {}
for i in range(2,7):
  val["ac{0}".format(i)] = AgglomerativeClustering(n_clusters = i, affinity = 'euclidean', linkage = 'average')

print(val)

I would NOT RECOMMEND using the method below, but only for experimental purposes.我不会推荐使用下面的方法,但仅用于实验目的。

globals() returns dict of key as variabls and the value as the value assigned to the variable. globals()返回keydict作为变量, value作为分配给变量的值。

for i in range(2, 7):
    globals()[f'ac{i}'] = AgglomerativeClustering(n_clusters = i, affinity = 'euclidean', linkage = 'average')

It will create variables from ac2 to ac6 .它将创建从ac2ac6的变量。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM