如果用户列表中的所有元素都是列表,则返回 True
Returning True if all elements in a user’s list are a list
已解决
我的练习是编写一个名为 list_check 的函数,它接受来自用户的列表,并且 returns 如果用户列表中的每个元素本身也是一个列表,则为真。
最重要的是,我希望看到一个使用用户输入解决此问题的工作示例,这比您自己提供列表更困难。
这是我最近一次接受用户对列表的输入:
userlist = []
number_of_elements = int(input("Enter the number of elements in your list: "))
for i in range(0, number_of_elements):
element = input().split()
userlist.append(element)
if all(isinstance(element, list) for element in userlist):
print("True")
else:
print("False")
无需用户输入的工作代码如下:
customlist = [[1,2,3],[2,3,4], False]
def list_check(customlist):
answer = all(type(l) == list for l in customlist)
print(answer)
list_check(customlist)
假
感谢您的帮助。
- J
那是因为 .split() 总是 return 一个列表。 'dog'.split() == ['dog'].
解决方案(优化)
number_of_elements = int(input("Enter the number of elements in your list: "))
output = True
for _ in range(number_of_elements):
element = input().split()
if len(element) == 1: output = False
print(output)
def listcheck():
y = (input("Enter your lists: \n"))
if y[0] !="[" or y[1] !="[":
print("false, you entered data not starting with [[")
return False
if y[len(y)-1] !="]" or y[len(y)-2] !="]":
print("false, you entered data not ending with ]]")
return False
import ast
z = ast.literal_eval(y)
def innerlistcheck(alist):
for x in range(0, len(alist), 1):
if type(alist[x]) != list:
print("false, " + str(alist[x]) + " is not a list")
return False
print("true")
return True
innerlistcheck(z)
listcheck()
我认为这可能是您问题的答案。
最难的部分是了解如何将字符串转换为我从此处窃取的列表:Convert string representation of list to list
已解决
我的练习是编写一个名为 list_check 的函数,它接受来自用户的列表,并且 returns 如果用户列表中的每个元素本身也是一个列表,则为真。
最重要的是,我希望看到一个使用用户输入解决此问题的工作示例,这比您自己提供列表更困难。
这是我最近一次接受用户对列表的输入:
userlist = []
number_of_elements = int(input("Enter the number of elements in your list: "))
for i in range(0, number_of_elements):
element = input().split()
userlist.append(element)
if all(isinstance(element, list) for element in userlist):
print("True")
else:
print("False")
无需用户输入的工作代码如下:
customlist = [[1,2,3],[2,3,4], False]
def list_check(customlist):
answer = all(type(l) == list for l in customlist)
print(answer)
list_check(customlist)
假
感谢您的帮助。 - J
那是因为 .split() 总是 return 一个列表。 'dog'.split() == ['dog'].
解决方案(优化)
number_of_elements = int(input("Enter the number of elements in your list: "))
output = True
for _ in range(number_of_elements):
element = input().split()
if len(element) == 1: output = False
print(output)
def listcheck():
y = (input("Enter your lists: \n"))
if y[0] !="[" or y[1] !="[":
print("false, you entered data not starting with [[")
return False
if y[len(y)-1] !="]" or y[len(y)-2] !="]":
print("false, you entered data not ending with ]]")
return False
import ast
z = ast.literal_eval(y)
def innerlistcheck(alist):
for x in range(0, len(alist), 1):
if type(alist[x]) != list:
print("false, " + str(alist[x]) + " is not a list")
return False
print("true")
return True
innerlistcheck(z)
listcheck()
我认为这可能是您问题的答案。 最难的部分是了解如何将字符串转换为我从此处窃取的列表:Convert string representation of list to list