📜  Python – 用 K 修剪元组

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

Python – 用 K 修剪元组

给定元组列表,按 K 修剪每个元组。

例子:

方法#1:使用循环+切片

在这里,我们通过使用切片,将元组转换为列表,然后重新转换为元组来省略前后 K 个元素。

Python3
# Python3 code to demonstrate working of
# Trim tuples by K
# Using loop + slicing
  
# initializing list
test_list = [(5, 3, 2, 1, 4), (3, 4, 9, 2, 1),
             (9, 1, 2, 3, 5), (4, 8, 2, 1, 7)]
  
# printing original list
print("The original list is : " + str(test_list))
  
# initializing K
K = 2
  
res = []
for ele in test_list:
    N = len(ele)
  
    # triming elements
    res.append(tuple(list(ele)[K: N - K]))
  
# printing result
print("Converted Tuples : " + str(res))


Python3
# Python3 code to demonstrate working of
# Trim tuples by K
# Using list comprehension + slicing
  
# initializing list
test_list = [(5, 3, 2, 1, 4), (3, 4, 9, 2, 1),
             (9, 1, 2, 3, 5), (4, 8, 2, 1, 7)]
  
# printing original list
print("The original list is : " + str(test_list))
  
# initializing K
K = 2
  
# one-liner approach to solve problem
res = [tuple(list(ele)[K: len(ele) - K]) for ele in test_list]
  
# printing result
print("Converted Tuples : " + str(res))


输出:

方法#2:使用列表理解+切片 

在此,我们以与上述方法类似的方式执行任务,不同之处在于使用列表理解以单行方式执行任务。

蟒蛇3

# Python3 code to demonstrate working of
# Trim tuples by K
# Using list comprehension + slicing
  
# initializing list
test_list = [(5, 3, 2, 1, 4), (3, 4, 9, 2, 1),
             (9, 1, 2, 3, 5), (4, 8, 2, 1, 7)]
  
# printing original list
print("The original list is : " + str(test_list))
  
# initializing K
K = 2
  
# one-liner approach to solve problem
res = [tuple(list(ele)[K: len(ele) - K]) for ele in test_list]
  
# printing result
print("Converted Tuples : " + str(res))

输出: