迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

Python 中检查输入是否是为列表

作者:迹忆客 最近更新:2022/09/21 浏览次数:

使用 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']

python 检查输入是否为列表

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

本站文章均为原创或翻译,转载请发邮件至 1244347461@qq.com 进行申请,未经许可,禁止转载。经作者同意之后,转载请以链接形式注明出处

本文地址:

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

热门文章

教程更新

热门标签

扫码一下
查看教程更方便