簡體   English   中英

如何使用python連接不同列表中的兩個項目?

[英]How to concatenate two items from different lists using python?

如果我有這樣的列表,如何連接不同列表中的兩個項目:

data_list = [['Toys', 'Communications', 'Leather'], ['Teddy', 'Mobile', 'Hand'], ['bear', 'phone', 'bag']]

我已經使用zip函數將它們轉換為元組,如下所示:

data_tupled_list = zip(*data_list)

結果如下:

[('Toys', 'Teddy', 'bear'),
 ('Communications', 'Mobile', 'phone'),
 ('Leather', 'Hand', 'bag')]

我想要一個這樣的列表:

[('Toys', 'Teddybear'),
 ('Communications', 'Mobilephone'),
 ('Leather', 'Handbag')]

您已到達那里:

data_tupled_list = [(x[0],x[1]+x[2]) for x in zip(*data_list)]

如果你拆開元組,它可能會更漂亮一點:

data_tupled_list = [(a,b+c) for a,b,c in zip(*data_list)]

如果你能給abc更有意義的名字肯定會更漂亮。

有一個不錯的方法可以用Python3編寫

>>> data_list = [['Toys', 'Communications', 'Leather'], ['Teddy', 'Mobile', 'Hand'], ['bear', 'phone', 'bag']]
>>> [(x, ''.join(args)) for x, *args in zip(*data_list)]
[('Toys', 'Teddybear'), ('Communications', 'Mobilephone'), ('Leather', 'Handbag')]

我將分兩部分對其進行操作; 你真的想做以下事情:

data_list = [['Toys', 'Communications', 'Leather'], ['Teddy', 'Mobile', 'Hand'], ['bear', 'phone', 'bag']]
groups = data_list[0]
predicates = data_list[1]
suffixes = data_list[2]

combined = [ ''.join((pred, suff)) for pred, suff in zip(predicates, suffixes)]
finalresult = zip(groups, combined)

暫無
暫無

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

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