簡體   English   中英

Python如何使用連接功能連接列表列表

[英]Python how to join list of lists using join function

我是Python的新手。 對連接功能有疑問。

masterlist = [
    ('ap172', ['33', '212-583-1173', '19 Boxer Rd.', 'New York', 'NY', '10005']),
    ('axe99', ['42', '212-582-5959', '315 W. 115th Street, Apt. 11B', 'New York', 'NY', '10027'])
]

我想打印由管道分隔的列表的每個元素。

如果我嘗試:

for i in masterlist:
    mystring = '|'.join(i)                                      
    print mystring

錯誤是:

TypeError: sequence item 1: expected string, list found

所以我正在嘗試:

for i in masterlist:
    mystring = i[0] 
    mystring += '|'.join(i[1])                                  
    print mystring

我得到:

ap17233|212-583-1173|19 Boxer Rd.|New York|NY|10005
axe9942|212-582-5959|315 W. 115th Street, Apt. 11B|New York|NY|10027

因此它可以工作,但想知道是否有更好的方法使用join函數來加入上述主列表?

我認為在for循環中拆分元組會更干凈。

for identifier, data in masterlist:
     print "%s%s" %(identifier, '|'.join(data))
from itertools import chain
for symbol, items in masterlist:
    print "|".join(chain( [symbol], items))

為了得到你所能得到的,你可以嘗試

for i in masterlist:
    print i[0] + '|'.join(i[1])

為了得到我認為的你可以嘗試的方法

for i in masterlist:
    print i[0] + '|' + '|'.join(i[1])

有很多方法可以做到這一點,這些僅是2。

for i in masterlist:
    print '|'.join([i[0]] + i[1])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM