[英]How to convert a tuple to a string in Python?
在MySQL select語句之后,我留下以下內容:
set([('1@a.com',), ('2@b.net',), ('3@c.com',), ('4@d.com',), ('5@e.com',), ('6@f.net',), ('7@h.net',), ('8@g.com',)])
我想擁有的是一個
emaillist = "\n".join(queryresult)
到最后,有一個字符串:
1@a.com
2@b.net
3@c.com
etc
將這個嵌套元組轉換為字符串的正確方法是什么?
只要您確定每個元組只有一個元素:
'\n'.join(elem[0] for elem in queryresult)
試試看,看看
>>> something=set([('1@a.com',), ('2@b.net',), ('3@c.com',), ('4@d.com',), ('5@e.com',), ('6@f.net',), ('7@h.net',), ('8@g.com',)])
>>> print '\n'.join(''.join(s) for s in something)
6@f.net
7@h.net
2@b.net
1@a.com
8@g.com
5@e.com
4@d.com
3@c.com
注意,join只能用於字符串,但是set的項目是元組。 要使連接起作用,必須迭代集合以將每個項目轉換為字符串。 最后一旦完成,你可以按照你的心願方式加入他們
在旁注。 一種環繞的做法:-)
>>> print "\n".join(re.findall("\'(.*?)\'",pprint.pformat(something)))
1@a.com
2@b.net
3@c.com
4@d.com
5@e.com
6@f.net
7@h.net
8@g.com
列表理解沿線
[item[0] for item in queryresult]
應該有所幫助 例如,
emaillist = "\n".join([item[0] for item in queryresult])
但是,這會對queryresult的類型和結構做出強有力的假設。
編輯
執行此操作時,生成器表達式更好:
emaillist = "\n".join(item[0] for item in queryresult)
感謝@delnan的更新
new = '\n'.join(x[0] for x in old)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.