2 回答

TA贡献2021条经验 获得超8个赞
使用str.join和str.format
前任:
columns = ['col1', 'col2', 'col3']
leng = [20, 30, 15]
sampleStr = """CREATE TABLE dbo.table
(
{}
)"""
print( sampleStr.format(",".join(["[{}] varchar({})".format(i, j) for i,j in zip(columns, leng)])) )
输出:
CREATE TABLE dbo.table
(
[col1] varchar(20),[col2] varchar(30),[col3] varchar(15)
)

TA贡献1772条经验 获得超5个赞
使用zip并行连接列及其长度。
a = ('CREATE TABLE dbo.table ('
+ ', '.join(['[{}] varchar({})'.format(col, n)
for col, n in zip(columns, leng)])
+ ')'
)
>>> a
'CREATE TABLE dbo.table ([col1] varchar(20), [col2] varchar(30), [col3] varchar(15))'
添加回答
举报