如何根据元组参数改变int值

2024-04-26 02:57:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图写不同的文件名或执行类似的功能,基于元组计数的值。你知道吗

示例

a= ('hello','my','friend')
b = len(a)  ## which is 3
a[0] ## which is 'hello'
a[1] ## which is 'my' and so on

但看了a的长度我就知道是3了。然后我要做的是根据从0到2的a的长度来编写一个文件。换言之,读a的len,然后做下面的事情。你知道吗

file = open('0.txt','w')
file.write("whatever")
file.close()

file = open('1','w')
file.write("whatever")
file.close()

file = open('2','w')
file.write("whatever")
file.close()

因此,我可以对10或100个元组的列表使用相同的代码,它将根据从len(a)读取的值自动调整。你知道吗


Tags: 功能示例hellowhichcloselenis文件名
3条回答

正如您提到的列表a,您可能对以下方法感兴趣:

a = ('hello', 'my', 'friend')
for i, value in enumerate(a):
   # here i stands for index
   # value for tuple value of this index, a[i]
   print i, value

输出

0 hello
1 my
2 friend

xrange()将创建一个从0到您要查找的任何数字的迭代器。你知道吗

可以使用任何类型的字符串格式来创建唯一的文件名。你知道吗

for i in xrange(0,len(a)):
    file = open("file_%d.txt" % i, 'w')
    file.write("whatever")
    file.close()

编辑:使用len(a)使示例更清晰,如建议的那样

使用^{}^{}函数根据元组长度生成整数值序列:

for i in xrange(len(a)):
    filename = '{}.txt'.format(i)

这将循环3次,生成数字012,然后可以用来生成文件名等

xrange()按需生成数字,range()首先用数字生成一个列表;前者内存效率更高,后者为您提供一个列表以供进一步操作。你知道吗

相关问题 更多 >