Python 中检查输入是否是为列表
使用 isinstance()
函数检查输入是否为列表,例如 if isinstance(my_list, list):
。 如果传入的对象存储一个列表,isinstance()
函数将返回 True,否则返回 False。
import ast
# ✅ Check if variable stores a list
my_list = ['a', 'b', 'c']
if isinstance(my_list, list):
print('The variable stores a list')
print(type(my_list)) # 👉️ <class 'list'>
# ------------------------------------------
# ✅ Check if user input is list (e.g. ['a', 'b',])
try:
input_list = ast.literal_eval(
input('Enter a valid Python list, e.g. tasks=["walk the dog"]: ')
)
except ValueError:
print('The provided value is not a list')
print(input_list) # 👉️ ['a', 'b']
# ------------------------------------------
# ✅ Split value from user input into a list
input_list = input('Enter multiple, space-separated values: ').split()
print(input_list) # 👉️ ['hello' , 'world']
第一个示例使用 isinstance()
函数检查提供的值是否为列表。
my_list = ['a', 'b', 'c']
if isinstance(my_list, list):
print('The variable stores a list')
print(type(my_list)) # 👉️ <class 'list'>
如果传入的对象是传入类的实例或子类,则 isinstance
函数返回 True。
我们可以使用类型类来获取对象的类型。
如果我们需要检查用户输入是否为列表,请使用 ast.literal_eval()
方法
import ast
try:
input_list = ast.literal_eval(
input('Enter a valid Python list, e.g. ["walk the dog"]: ')
)
except ValueError:
print('The provided value is not a list')
print(input_list) # 👉️ ['a', 'b']
ast.literal_eval
方法允许我们安全地评估包含 Python 文字的字符串。
字符串可以由字符串、字节、数字、元组、列表、字典、集合、布尔值和无组成。
这假设预期的输入是一个有效的 Python 列表,例如 **[1、2、3]**。
如果我们需要将来自用户输入的多个值拆分为一个列表,请使用 str.split()
方法。
input_list = input('Enter multiple, space-separated values: ').split()
print(input_list) # 👉️ ['hello' , 'world']
该示例假设我们希望从用户那里获得多个以空格分隔的值,例如 hello world or walk the dog。
str.split()
方法使用分隔符将字符串拆分为子字符串列表。
当
str.split()
方法在没有参数的情况下被调用时,它会将连续的空白字符视为单个分隔符。
如果我们需要从用户输入中获取多个逗号分隔的值并将它们拆分为一个列表,则可以使用相同的方法。
input_list = input('Enter multiple, comma-separated values: ').split(',')
print(input_list) # 👉️ ['hello' , 'world']
str.split()
方法采用以下 2 个参数:
- separator 在每次出现分隔符时将字符串拆分为子字符串
- maxsplit 最多完成最大拆分(可选)
我们使用逗号作为 separator
参数,因此希望用户提供多个以逗号分隔的值,例如 apple,banana,melon
。
相关文章
Python for 循环中的下一项
发布时间:2023/04/26 浏览次数:179 分类:Python
-
本文讨论了 Python 中的 for 循环以及如何通过使用 for 循环和示例来跳过列表的第一个元素。
Python While 循环用户输入
发布时间:2023/04/26 浏览次数:148 分类:Python
-
我们可以在 while 循环中使用 input() 函数来输入数据,直到在 Python 中满足某个条件。
在 Python 中将整数转换为罗马数字
发布时间:2023/04/26 浏览次数:87 分类:Python
-
本篇文章将介绍在 Python 中将整数转换为罗马数字。以下是一个 Python 程序的实现,它将给定的整数转换为其等效的罗马数字。
在 Python 中将罗马数字转换为整数
发布时间:2023/04/26 浏览次数:144 分类:Python
-
本文讨论如何在 Python 中将罗马数字转换为整数。 我们将使用 Python if 语句来执行此操作。 我们还将探讨在 Python 中将罗马数字更改为整数的更多方法。
在 Python 中读取 gzip 文件
发布时间:2023/04/26 浏览次数:70 分类:Python
-
本篇文章强调了压缩文件的重要性,并演示了如何在 Python 中使用 gzip 进行压缩和解压缩。
在 Python 中锁定文件
发布时间:2023/04/26 浏览次数:141 分类:Python
-
本文解释了为什么在 Python 中锁定文件很重要。 这讨论了当两个进程在没有锁的情况下与共享资源交互时会发生什么的示例,为什么在放置锁之前知道文件状态很重要,等等
在 Python 中将 PDF 转换为文本
发布时间:2023/04/26 浏览次数:196 分类:Python
-
在本教程中,我们将学习如何使用 Python 使用 PyPDF2、Aspose 和 PDFminer 将 PDF 文档转换为文本文件。
在 Python 中创建临时文件
发布时间:2023/04/26 浏览次数:53 分类:Python
-
本文讲解了tempfile库函数的四个子函数:TemporaryFile、NamedTemporaryFile、mkstemp、TemporaryDirectory。 每个部分都提供了适当的程序,以简化对概念的理解。