📜  Python – 在嵌套元组中拆分

📅  最后修改于: 2022-05-13 01:55:36.023000             🧑  作者: Mango

Python – 在嵌套元组中拆分

有时,在使用Python元组时,我们可能会遇到一个问题,即我们需要通过某个分隔符对嵌套元组中的元素进行拆分。这种问题可以在不同的数据域中应用。让我们讨论可以执行此任务的某些方式。

方法#1:使用列表推导+ unpack operator(*)
上述功能的组合可以用来解决这个问题。在此,我们通过使用 *运算符符的分隔符和列表推导来迭代和形成对来执行解包元素的任务。

# Python3 code to demonstrate working of 
# Split in Nested tuples
# Using list comprehension + unpack operator
  
# initializing list
test_list = [(3, ('Gfg', 'best')), (10, ('CS', 'good')), (7, ('Gfg', 'better'))]
  
# printing original list
print("The original list is : " + str(test_list))
  
# Split in Nested tuples
# Using list comprehension + unpack operator
res = [[a, *b] for a, b in test_list]
  
# printing result 
print("The splitted elements : " + str(res)) 
输出 :
The original list is : [(3, ('Gfg', 'best')), (10, ('CS', 'good')), (7, ('Gfg', 'better'))]
The splitted elements : [[3, 'Gfg', 'best'], [10, 'CS', 'good'], [7, 'Gfg', 'better']]

方法 #2:使用map() + list()
上述功能的组合可以用来解决这个问题。在此,我们使用 map() 执行将逻辑扩展到每个元素的任务,并且 list() 用于将字符串打包到不同的容器中。

# Python3 code to demonstrate working of 
# Split in Nested tuples
# map() + list()
  
# initializing list
test_list = [(3, ('Gfg', 'best')), (10, ('CS', 'good')), (7, ('Gfg', 'better'))]
  
# printing original list
print("The original list is : " + str(test_list))
  
# Split in Nested tuples
# map() + list()
res = []
for sub in test_list:
    res.append(list(map(str, (*[sub[0]], *[*sub[1]]))))
  
# printing result 
print("The splitted elements : " + str(res)) 
输出 :
The original list is : [(3, ('Gfg', 'best')), (10, ('CS', 'good')), (7, ('Gfg', 'better'))]
The splitted elements : [[3, 'Gfg', 'best'], [10, 'CS', 'good'], [7, 'Gfg', 'better']]