我想使用字符串格式而不是这种凌乱的方式
data=(1, 8)
a=((list(range((data[0]), ((data[-1])+1)))))
print (a)
但是当我尝试使用字符串格式时出现语法错误
data=(1, 8)
a=((list(range(%f,%f))) % data)
print(a)
我尝试过%s代替%f
data=(1, 8)
a=((list(range(%s,%s))) % data)
print(a)
答案 0 :(得分:0)
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(Edm.String)",
"value": [
"d4eec69a-98fe-4d83-865e-29769172948b",
"4a2e47ce-d135-4078-ac50-7d5520f17317"
]
}
是你能得到的最好的。此表达式的值是范围,而不是列表。如果您打算在循环,列表理解等中进一步使用它,请保持原样。如果您确实需要列表(可能不需要),请将范围转换为列表:range(data[0], data[-1] + 1)
。
你的另一个选择是list(range(data[0], data[-1] + 1))
,但它更糟糕。
答案 1 :(得分:0)
在这个精确演员阵容中,您实际上只需拨打ValueError: Input dimension mis-match. (input[0].shape[0] = 71, input[1].shape[0] = 20000)
即可获得所需内容。另外,你过度使用了你的括号。第一个陈述可以简化为:
list(data)
或者,从技术上讲,就是这样:
a = list(range(data[0], data[-1]+1)
现在,如果你真的想要生成存储在元组中的两个值之间的范围,你也可以使用
a = list(data)
a = range(*data)
前缀在迭代中解包数据。你可以用这种方式存储参数。例如:
*
与
相同args = (6, 2)
pow(*args)
因此,在您确切的情况下,args = (6, 2)
pow(args[0], args[1])
会生成a = range(*data)
。不是你想要的,但可能有用。