我有这段代码......:
c_ids = [2323,4343,534]
ids = " &drags[][id]=".join(str(x) for x in c_ids)
print ids
# 2323 &drags[][id]=4343 &drags[][id]=534
如何进行打印:
&drags[][id]=2323 &drags[][id]=4343 &drags[][id]=534
答案 0 :(得分:0)
我将忽略你在这里添加空格的事实;这可能不是你想要的,但很容易从输出中删除。
格式化每个元素并使用空字符串连接:
''.join(' &drags[][id]={}'.format(x) for x in c_ids)
或者避免重新发明网址编码轮并改为使用urllib.urlencode()
function:
'&' + urllib.urlencode({'drags[][id]': c_ids}, doseq=True)
doseq
标志允许将列表值转换为结果查询字符串中的单独元素; id
中的每个c_ids
都是单独编码的。
演示:
>>> import urllib
>>> c_ids = [2323,4343,534]
>>> '&' + urllib.urlencode({'drags[][id]': c_ids}, doseq=True)
'&drags%5B%5D%5Bid%5D=2323&drags%5B%5D%5Bid%5D=4343&drags%5B%5D%5Bid%5D=534'
方括号的编码在这里是完全正确的;任何兼容的Web服务器都会再次解码它们(包括PHP和Ruby-on-Rails)。