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