Python 如何从元组列表中轻松地将单个元组传递给startswith函数?

Python 如何从元组列表中轻松地将单个元组传递给startswith函数?,python,list,tuples,Python,List,Tuples,我想在Python中实现搜索和替换字符串的功能。我编写了以下代码,但我的主要问题是将列表转换为元组。我在两个循环中实现了它,但是您能帮助我以一种更简单的方式将元组传递给startswith函数吗?(列表在rcsv\u列表变量中) 输出: RMAN configuration parameters for database with db_unique_name TEST are: CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 5 DAYS; C

我想在Python中实现搜索和替换字符串的功能。我编写了以下代码,但我的主要问题是将列表转换为元组。我在两个循环中实现了它,但是您能帮助我以一种更简单的方式将元组传递给
startswith
函数吗?
(列表在
rcsv\u列表
变量中)

输出:

RMAN configuration parameters for database with db_unique_name TEST are:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 5 DAYS;
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE DEVICE TYPE DISK PARALLELISM 4 BACKUP TYPE TO BACKUPSET;
上述代码的主要思想是将一个元组传递给
startswith
函数,以便在
rman\u config
字符串中进行行内搜索。为此,我创建了tuple类型的
rcsv\u tuple
变量。这段代码运行良好,但最后我还有两个问题:

  • 无需解包和转换变量就可以简化上述代码?换句话说,如何从元组列表中将元组直接传递给
    startswith
    函数

  • 在这种情况下,是否有其他方法来搜索和替换字符串?


  • 另外,我总是将
    rcsv\u list
    变量作为元组列表,因为->

    可以用以下内容替换循环和元组的构造:

    rcsv_tuple = sum(rcsv_list, ())
    
    您也可以直接迭代查询结果,而不是查询、拆分等:

    cursor.execute(sql)
    for row in cursor:
       # ...
    

    最后,当您独立于条件打印时,您可能会删除else子句。

    使用
    any
    中所示(e.startswith(tgt)表示tup中的e)
    此外,要从tuple中生成列表,只需执行
    list(tup)
    即可!!我喜欢这样聪明的解决方案。:)非常感谢。
    cursor.execute(sql)
    for row in cursor:
       # ...