我有一个变量,它给出了每个循环从列表中获取的输出数字。
idx = 0
for i in y:
listbyte = subprocess.check_output('python foo.py ' + path + str(y[idx]), shell=True).rstrip()
idx += 1
listnum = listbyte.decode()
number = (listnum[0])
print(number)
u.append(listnum)
如果我打印number
,输出格式为:
1
2
3
4
5
如果我将end = ''
放在打印结尾处,则效果非常好,输出:12345
。
问题是:如何将此输出变为变量?我必须将这种格式用于程序中的一些代码,但从我看到的end = ''
参数仅限于print()
函数。
它应该是这样的:
a = number(listnum[0])
print(a)
>>>12345
由于
编辑:使用Megabeets回答,输出现在是:
0
09
091
0912
09126
091265
0912655
09126554
091265548
答案 0 :(得分:1)
您可以使用a += (listnum[0])
,如以下示例所示:
a = ''
idx = 0
for i in y:
listbyte = subprocess.check_output('python foo.py ' + path + str(y[idx]), shell=True).rstrip()
idx += 1
listnum = listbyte.decode()
a += (listnum[0])
u.append(listnum)
然后a
将是一个包含" 12345"
>>> print(a)
12345
如果您希望a
在结尾处是整数,而不是字符串,则可以使用int(a)
答案 1 :(得分:1)
您可以将这些数字存储在string
中,然后将其转换为int
,或者稍后附加到list
和join
。
示例以获取[1,5]
的数字列表:
使用list
,
>>> nums = []
>>> for i in range(1,6):
nums.append(i)
>>> nums
=> [1, 2, 3, 4, 5]
>>> ''.join(str(x) for x in nums)
=> '12345'
>>> int(''.join(str(x) for x in nums))
=> 12345
使用str
>>> nums = ''
>>> for i in range(1,6):
nums+=str(i)
>>> nums
=> '12345'
>>> int(nums)
=> 12345
甚至可以在没有任何转化的情况下进行数学
>>> nums=0
>>> for i in range(1,6):
nums=(nums*10)+i
>>> nums
=> 12345
答案 2 :(得分:0)
打印5%(101%3)和(76 // 3)* 4