gpt4 book ai didi

python - 检查列表是否包含 int、str、元组和子列表的优雅方法

转载 作者:行者123 更新时间:2023-11-28 22:40:03 24 4
gpt4 key购买 nike

我写了一些脚本,但我必须添加一些条件;用户放置一个列表,它必须至少包含这些类型中的一种(元组、整数、s tr 和子列表)。

有没有没有 4 if 的优雅方法?

我考虑过 for 循环并使用 isinstance(i, type) 但它很棘手,因为它一遍又一遍地运行并询问关于一种类型的不同“问题”

for i in List:
if isinstance(i,int):
if isinstance(i,str)

如您所见,这不是很优雅。我考虑过为每种类型添加新变量 i,j,k 并可能执行 4 个 for 循环:

for
for
for
for

欢迎任何想法和线索。谢谢!

最佳答案

您可以将不同类型的元组与 isinstance 一起使用:

>>> isinstance('a', (str, list, tuple, int))
True

结合任何

>>> data = [1, 'a', (2, 4, 6)]
>>> any(isinstance(x, (str, list, tuple, int)) for x in data)
True

或者,如果您想对这些类型之一的对象执行某些操作:

for x in data:
if isinstance(x, (str, list, tuple, int)):
print('found')

关于python - 检查列表是否包含 int、str、元组和子列表的优雅方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34129359/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com