python 实现循环定义、赋值多个变量的操作

exec函数,可以循环定义、赋值多个变量

exec ("temp%s=1"%1)

这段代码的意思是,让exec执行temp1=1。字符串里面的%s由‘1'代替了。

我们在外面再套一个循环就可以实现对多个变量的定义了。

for i in range(10):
 exec ("temp%s=1"%i)

在这里,通过一个循环来生成10个变量,i的变化从0到9。用变量i替代%s,所以在每次循环里面,分别给temp0、temp1、temp2……赋值为1。

如果想要替换多个占位符,可以这样写:

exec ("temp%s=%d"%(i,i))

在这里,分别以字符串、整数形式替换占位符,执行结果:

temp1=1

补充:Python循环语句里一系列结果赋值给一系列变量,exec 函数

使用"工具":

exec函数 ,占位符

情况说明: 

k是一个多层嵌套列表 #k.shape (9, 101, 4)

根据k生成9个DataFrame格式的,变量名分别为k1,k2…k9

from pandas import DataFrame
for i in range(k.shape[0]):
 exec ("k%s=DataFrame(k[%s])"%(i,i))

#占位符的使用和print()里一样。

#exec函数还可以用于,在for语句里对 变量名有格式的变量 的处理。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • Python中一个for循环循环多个变量的示例

    首先,熟悉一个函数zip,如下是使用help(zip)对zip的解释. Help on built-in function zip in module __builtin__: zip(...) zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)] Return a list of tuples, where each tuple contains the i-th element from each of the argumen

  • Python3单行定义多个变量或赋值方法

    你甚至可以在一行内将多个值赋值给多个变量 >>> a , b = 45, 54 >>> a 45 >>> b 54 这个技巧用来交换两个数的值非常方便 >>> a, b = b , a >>> a 54 >>> b 45 要明白这是怎么工作的,你需要学习元组(tuple)这个数据类型.我们是用逗号创建元组.在赋值语句的右边我们创建了一个元组,我们称这为元组封装(tuple packing),赋值语句

  • python实现将列表中各个值快速赋值给多个变量

    我就废话不多说啦,还是直接看代码吧! list1 = [1,2,3,4] a,b,c,d = list1 则 a = 1 b =2 等 这种方式只有当左边的操作数个数和list1长度相同时,才可以这么做,不然报错. 我们假设我们有一个list对象List,它的长度足够长,想把它从下标i开始的k个元素赋给k个元素,可以这么做: v1, v2, v3, -, vk = List[i : i + k] #默认i=0, k=len(List) 补充知识:python 将某个字段存储为列表类型 实现存储数

  • python实现同时给多个变量赋值的方法

    本文实例讲述了python实现同时给多个变量赋值的方法.分享给大家供大家参考.具体分析如下: python中可以同时给多个变量赋值,下面列举了三种方法 # Assign values directly a, b = 0, 1 assert a == 0 assert b == 1 # Assign values from a list (r,g,b) = ["Red","Green","Blue"] assert r == "Red&q

  • python 实现循环定义、赋值多个变量的操作

    exec函数,可以循环定义.赋值多个变量 exec ("temp%s=1"%1) 这段代码的意思是,让exec执行temp1=1.字符串里面的%s由'1'代替了. 我们在外面再套一个循环就可以实现对多个变量的定义了. for i in range(10): exec ("temp%s=1"%i) 在这里,通过一个循环来生成10个变量,i的变化从0到9.用变量i替代%s,所以在每次循环里面,分别给temp0.temp1.temp2--赋值为1. 如果想要替换多个占位符

  • 对python:循环定义多个变量的实例详解

    我们可能会时长碰到这样一个场景,计算得到一个非固定值,需要根据这个值定义相同数量个变量. 实现方式的核心是exec函数,exec函数可以执行我们输入的代码字符串. exec函数的简单例子: >>>exec ('print "hello world"') hello world 可以很清晰的看到,我们给exec传入一个字符串'print "hello world"',exec是执行字符串里面的代码print "hello world&quo

  • JavaScript中的函数的两种定义方式和函数变量赋值

    复制代码 代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script type="text/javascript"> /*I总结: 1.函数名可以做变量使用,可以赋值,可以传值 2.函数名当参数,传递给另一个函数 */ //===========

  • python 队列基本定义与使用方法【初始化、赋值、判断等】

    本文实例讲述了python 队列基本定义与使用方法.分享给大家供大家参考,具体如下: 队列的特征是:先进先出 应用场景:消息通信.多进程间的协同.多线程间的协同等 在队列中需要设计的实例属性:head节点.tail节点 需要设计的实例方法有两个:分别是入队队列enqueue和出队队列dequeue # -*- coding:utf-8 -*- #! python3 class Node(object): #节点,包括两个属性,一个是节点的值,一个是节点的下一个指向 def __init__(se

  • python 循环数据赋值实例

    python在数值赋值的时候可以采用数值内循环赋值,很方便 如下 a = [x for x in range(10)] 这样 a = [0,1,2,3,4,5,6,7,8,9] 这里循环得到的是x,x是每次循环的值,这里就是0123456789 如果需要用到x 如下 d = [np.random.rand(10,x) for x in range(10)] print(d) d 第一次循环产生10个20行1列的二维数组 第二次循环产生10个20行2列的二维数值 ..... .... 以上这篇py

  • Python类如何定义私有变量

    这篇文章主要介绍了Python类如何定义私有变量,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 前言 在java 的类中,如果你要定义一个私有变量,可以用修饰词 private,那么在Python 的类中呢,Python中没public private之类的修饰词,那Python 是如何定义私有变量的呢? 私有变量 在Python 类中定义私有变量,只要在变量前加 __ (两个下划线) ,那么该类的实例就不能引用了,看下面实例 >>>

  • Python for循环及基础用法详解

    Python 中的循环语句有 2 种,分别是 while 循环和 for 循环,前面章节已经对 while 做了详细的讲解,本节给大家介绍 for 循环,它常用于遍历字符串.列表.元组.字典.集合等序列类型,逐个获取序列中的各个元素. for 循环的语法格式如下: for 迭代变量 in 字符串|列表|元组|字典|集合: 代码块 格式中,迭代变量用于存放从序列类型变量中读取出来的元素,所以一般不会在循环中对迭代变量手动赋值:代码块指的是具有相同缩进格式的多行代码(和 while 一样),由于和循

  • Python函数的定义方式与函数参数问题实例分析

    本文实例讲述了Python函数的定义方式与函数参数问题.分享给大家供大家参考,具体如下: 涉及内容: 函数的定义方式 函数的文字描述 空操作语句 位置参数 默认参数 关键参数 可变长度参数 函数的定义方式: 函数的文字说明: 为了让别人了解函数的意义,或者避免自己遗忘,可以使用 字符串(不需要赋值,单引号,双引号,多引号都行).#注释 将文字说明写在函数最开始的位置 def function1() : """ 这是这个程序的说明文字 """ pr

  • python dict 字典 以及 赋值 引用的一些实例(详解)

    最近在做一个很大的数据库方面的东东,要用到根据数值来查找,于是想到了python中的字典,平时没用过dict这个东东 用的最多的还是 list 和 tuple (网上查 用法一大堆) 看了一下创建字典的方法: 方法1: dict = {'name': 'earth', 'port': 80} 方法2: fdict = dict((['x', 1], ['y', 2])) 方法3: ddict = {}.fromkeys(('x', 'y'), -1) 都实验了一下这些方法,发现不好用,做不出来自

  • python关于矩阵重复赋值覆盖问题的解决方法

    本文实例讲述了python关于矩阵重复赋值覆盖问题的解决方法.分享给大家供大家参考,具体如下: import itertools import numpy as np comb = list(itertools.combinations(list(range(regions)), 2)) bands_info = [] coeff = np.zeros([bands, len(comb)]) for cla in range(classes): class_info = data[:,cla*b

随机推荐