2022年 11月 3日

python将循环遍历的数值赋值给变量

1、python将for…in遍历的值赋值给一个变量

需求:新建一个空列表,把遍历完的所有值放在空列表中,对新列表中的每个元素再赋变量。
注:数据不是很多的话或者看思路可以看这个


#空列表:用来放遍历结束的所有值
>>> list=[]
>>> list2=[7,8,9]
#list2需要遍历的数值
>>> for a in list2:
	list.append(a)
>>> print (list)
[7, 8, 9]
a=list[0]
b=list[1]
c=list[2]
>>> print (a,b,c)
7 8 9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

2、Python 通过for循环给多个变量赋值

需求:有一数组,想要通过for循环对数组里面的每个变量赋值(这里的变量可以是另外一个数组),通过for循环打印每个变量。

方案一:使用globals()[]和eval()两个函数

用法:
globals() 函数会以字典类型返回当前位置的全部全局变量。

eval函数作用是计算字符串中有效的表达式,并返回结果
eval() 函数用来执行一个字符串表达式,并返回表达式的值。
语法
以下是 eval() 方法的语法:
eval(expression[, globals[, locals]])
参数
expression -- 表达式。
globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。
返回值
返回表达式计算结果。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
>>> var_list = ["a", "b", "c","d","e"]
>>> num = 6
>>>> for var in var_list:
	globals()[var] = num
	num +=1
>>> for var in var_list:
	print(eval(var))

	
6
7
8
9
10
	
`

方案二:使用dictionary 即 dict()
```r
>>> d = dict()
>>> num = 1
>>> var_list = ["one", "two", "three"]
>>> for var in var_list:
	d[var]=num
	num +=1

	
>>> for var in var_list:
	print(d[var])

	
1
2
3
>>> 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35