目录
TypeError: list.append takes exactly one argument (2 given)
TypeError: list.append 只接受一个参数(给定 2 个)
当我们将多个参数传递给方法时,会出现 Python“TypeError: list.append() takes exactly one argument (2 given)” list.append
。
要解决该错误,请将包含参数的列表传递给该
append
方法或使用该extend()
方法。
下面是错误如何发生的示例。
my_list = ['a', 'b'] # ⛔️ TypeError: list.append() takes exactly one argument (2 given) my_list.append('c', 'd')
该list.append()
方法采用单个值并将其添加到列表的末尾。
对集合中的元素进行分组
如果您有列表列表(二维列表)或元组列表,请将参数分组到一个集合中并将单个值传递给该方法append()
。
my_list = [['a', 'b']] my_list.append(['c', 'd']) print(my_list) # 👉️ [['a', 'b'], ['c', 'd']]
list.append ()方法将一个项目添加到列表的末尾。
该append()
方法采用单个值作为参数。
该方法None
在改变原始列表时返回。
用于list.extend()
将多个项目附加到列表
如果您打算将多个项目附加到列表中,请改用该list.extend()
方法。
my_list = ['a', 'b'] my_list.extend(['c', 'd', 'e']) print(my_list) # 👉️ ['a', 'b', 'c', 'd', 'e']
list.extend方法采用可迭代对象(例如列表)并通过附加可迭代对象中的
所有项目来扩展列表。
该方法在改变原始列表时list.extend
返回。None
请注意, bothlist.append()
和 都list.extend()
采用一个参数——一个可迭代的。
因此,如果我们将多个以逗号分隔的参数传递给任一方法,就会导致错误。
TextIOWrapper.write() 只接受一个参数(给定 2 个)
当我们将多个参数传递给方法时,会出现 Python“TypeError: TextIOWrapper.write() takes exactly one argument (2 given)” write()
。
要解决该错误,请使用加法 (+) 运算符连接方法调用中的字符串。
下面是错误如何发生的示例。
file_name = 'example.txt' with open(file_name, 'w', encoding='utf-8') as my_file: # ⛔️ TypeError: TextIOWrapper.write() takes exactly one argument (2 given) my_file.write('first line', '\n') my_file.write('second line', '\n') my_file.write('third line', '\n')
请注意,我们使用逗号分隔两个字符串,因此我们将 2 个参数传递给该write()
方法,但该方法采用单个字符串。
使用加法(+)运算符解决错误
解决该错误的一种方法是使用
加法 (+) 运算符连接两个字符串。
file_name = 'example.txt' with open(file_name, 'w', encoding='utf-8') as my_file: my_file.write('first line' + '\n') my_file.write('second line' + '\n') my_file.write('third line' + '\n')
我们用加号替换了每个逗号+
以连接两个字符串。
print('a' + 'b' + 'c') # 👉️ 'abc'
使用格式化字符串文字来解决错误
另一种方法是使用
格式化字符串文字。
file_name = 'example.txt' first = 'first line' second = 'second line' third = 'third line' with open(file_name, 'w', encoding='utf-8') as my_file: my_file.write(f'{first}\n') my_file.write(f'{second}\n') my_file.write(f'{third}\n')
f
.确保将表达式括在大括号 – 中{expression}
。
with open()语法负责自动关闭文件,即使抛出异常也是如此。
使用open()
函数代替with
语句
或者,您可以将文件对象存储到变量中并手动关闭它。
file_name = 'example.txt' first = 'first line' second = 'second line' third = 'third line' my_file = open(file_name, 'w', encoding='utf-8') my_file.write(f'{first}\n') my_file.write(f'{second}\n') my_file.write(f'{third}\n') my_file.close()
请注意,最好使用with open()
语法,因为它会在我们完成后自动关闭文件。
额外资源
您可以通过查看以下教程来了解有关相关主题的更多信息: