对tup进行子迭代

2024-09-30 02:19:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试用python编写一个函数,该函数将接受数量可变的元素,其中包含两个不同的元素,将参数分隔为两个元组。例如,我想打一个电话,比如:

foo('D1', d1n1, d1n2, ... , 'D2', d2n1, d2n2, ...)

其中d1n1等是同一类型的,我想得到元组中'D1'和'D2'之间的元素,以及另一元组中从'D2'开始的元素。但我对怎么做有点不知所措。任何帮助都将不胜感激:)。你知道吗


Tags: 函数元素类型参数数量food2d1
1条回答
网友
1楼 · 发布于 2024-09-30 02:19:57

它可以通过使用^{}接受无限数量的参数来实现,然后通过第二个不同元素的索引来拆分参数。你知道吗

例如:

def foo(*args):
    ind = args.index('D2')
    lst1 = args[:ind]
    lst2 = args[ind:]
    print lst1
    print lst2


foo('D1', 1, 2, 3, 4, 5, 'D2', 6, 7, 8, 9) 

输出

('D1', 1, 2, 3, 4, 5)
('D2', 6, 7, 8, 9)

另一种实现方法是要求用户在调用函数时(使用命名参数)分别分隔参数:

def foo(lst1, lst2):
    print lst1
    print lst2


foo(lst1=['D1', 1, 2, 3, 4, 5], lst2=['D2', 6, 7, 8, 9])    

相关问题 更多 >

    热门问题