python - 为什么使用 list() 构造函数?
问题描述
我只是想知道 list() 构造函数的用法,因为如果我们想创建一个新列表,那么我们可以使用方括号,list() 构造函数的具体用途是什么。
newGrocerylist = list(("apple", "guava", "mango", "pineapple", "orange")) #Why use the list() constructor.
print(newGrocerylist)
#We can also do like this--
newGrocerylist = ["apple", "guava", "mango", "pineapple", "orange"]
print(newGrocerylist)
为什么要使用列表构造函数?这不是多余的事吗——
newGrocerylist = list(("apple", "guava", "mango", "pineapple", "orange"))
解决方案
如果你想创建一个包含一堆新值的字面新列表,那么你是对的。没有理由使用列表构造函数,您应该使用文字符号:
my_list = ['a', 'b', 'c']
事实上,使用构造函数创建一个包含一堆值的新列表是不可能的,您只能使用它将可迭代对象转换为它们的列表表示形式:
my_tuple = ('a', 'b', 'c') # literal notation to create a new tuple
my_list = list(my_tuple) # this is what you actually did in your first example
您可以以类似的方式使用其他可迭代构造函数,例如set
和。dict
它们不用于创建新对象,而是将现有对象转换为它们描述的类型。
推荐阅读
- java - Java - 从 LinkedList 中删除一个元素,除了第一个
- swift - 更改文本视图中文本的颜色
- javascript - 如何使用 javascript 重定向到另一个页面?
- django - Django allauth 使用自定义模板覆盖默认模板
- sql - SQL 无法绑定多部分标识符“AVG.Hours”
- java - 用于在 java 中打印“表格”(适用于初学者)
- python - 我的基于文本的游戏中的整数检查系统不起作用
- c# - 如何使用按钮控制其他按钮的焦点?
- azure - 无法使用 ADAL 示例应用程序检索访问令牌中的 hasGroups 或组声明
- javascript - 为什么全局 let 声明会被无作用域的变量覆盖?