簡體   English   中英

Python 列表,加入 2 個壓縮列表

[英]Python lists, join 2 zipped lists

[('BMW 3 SERIES ESTATE', 'Premium', 'GBP 1055.75', 'Automatic Transmission', '5', '5'), ('FIAT 500', 'Mini', '75.48', 'Manual Transmission', 'n/a', '3'), ('VAUXHALL CORSA', 'Economy', ' 79.48', 'Manual Transmission', '5', '5')]
[('14.00', '14.99', '39.00'), ('14.00', '14.99', '39.00'), ('14.00', '14.99', '39.00')]

我有這兩個壓縮列表,我想像這樣加入:

('BMW 3 SERIES ESTATE', 'Premium', 'GBP 1055.75', 'Automatic Transmission', '5', '5', '14.00', '14.99', '39.00')

我怎樣才能做到這一點? 謝謝

ls1 = [('BMW 3 SERIES ESTATE', 'Premium', 'GBP 1055.75', 'Automatic Transmission', '5', '5'), ('FIAT 500', 'Mini', '75.48', 'Manual Transmission', 'n/a', '3'), ('VAUXHALL CORSA', 'Economy', ' 79.48', 'Manual Transmission', '5', '5')]
ls2 = [('14.00', '14.99', '39.00'), ('14.00', '14.99', '39.00'), ('14.00', '14.99', '39.00')]

ans = ls1[0]+ls2[0]
print(ans)

output:

['BMW 3 SERIES ESTATE', 'Premium', 'GBP 1055.75', 'Automatic Transmission', '5', '5', '14.00', '14.99', '39.00']

這是你想要達到的目標嗎?

a = [('BMW 3 SERIES ESTATE', 'Premium', 'GBP 1055.75', 'Automatic Transmission', '5', '5'), ('FIAT 500', 'Mini', '75.48', 'Manual Transmission', 'n/a', '3'), ('VAUXHALL CORSA', 'Economy', ' 79.48', 'Manual Transmission', '5', '5')]
b = [('14.00', '14.99', '39.00'), ('14.00', '14.99', '39.00'), ('14.00', '14.99', '39.00')]
[x+y for (x,y) in zip(a,b)]

Output

[('BMW 3 SERIES ESTATE',
  'Premium',
  'GBP 1055.75',
  'Automatic Transmission',
  '5',
  '5',
  '14.00',
  '14.99',
  '39.00'),
 ('FIAT 500',
  'Mini',
  '75.48',
  'Manual Transmission',
  'n/a',
  '3',
  '14.00',
  '14.99',
  '39.00'),
 ('VAUXHALL CORSA',
  'Economy',
  ' 79.48',
  'Manual Transmission',
  '5',
  '5',
  '14.00',
  '14.99',
  '39.00')]

假設您希望能夠將它們全部添加在一起,而不僅僅是第一個元素:

data = [('BMW 3 SERIES ESTATE', 'Premium', 'GBP 1055.75', 'Automatic Transmission', '5', '5'), ('FIAT 500', 'Mini', '75.48', 'Manual Transmission', 'n/a', '3'), ('VAUXHALL CORSA', 'Economy', ' 79.48', 'Manual Transmission', '5', '5')]
nums = [('14.00', '14.99', '39.00'), ('14.00', '14.99', '39.00'), ('14.00', '14.99', '39.00')]

for i in range(len(data)):
    data[i] = list(data[i])
    for j in range(len(nums[i])):
        data[i].append(nums[i][j])
list_a = [('BMW 3 SERIES ESTATE', 'Premium', 'GBP 1055.75', 'Automatic Transmission', '5', '5'), ('FIAT 500', 'Mini', '75.48', 'Manual Transmission', 'n/a', '3'), ('VAUXHALL CORSA', 'Economy', ' 79.48', 'Manual Transmission', '5', '5')]
list_b = [('14.00', '14.99', '39.00'), ('14.00', '14.99', '39.00'), ('14.00', '14.99', '39.00')]

final_list = []

for element in list_a:
    temp_list = []
    k = 0
    
    # First append each elements into a temporary list
    for i in range(len(element)):
        temp_list.append(element[i])
        
    # Now append the items of list_b into temp_list
    for j in range(len(list_b)):
        temp_list.append(list_b[k][j])
    
    final_list.append(tuple(temp_list))  # Appending to the final list after transforming into a tuple
    
    k = k+1                       # Incrementing in order to match the len of list_b
    del temp_list                 # deleting the temp_list to avoid similar elements

暫無
暫無

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

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