在元组的最后一项之后添加尾随逗号
Adding a trailing comma after the last item of tuple
我正在使用 sqlite3,它要求我们在元组(值)的最后一项之后放置尾随逗号。下面的示例应该 return 预期输出 (2, 3,)
。是否有可以处理此问题的内置函数?
args = 2, 3
print(args)
# (2, 3)
print((args,))
# ((2, 3),)
sqlite3 在 'John'
后没有尾随逗号
import sqlite3
conn = sqlite3.connect('test.db')
c = conn.cursor()
c.execute("SELECT * FROM stocks WHERE first_name = ?", ('John'))
print(c.fetchall())
conn.close()
# sqlite3.ProgrammingError: Incorrect number of bindings supplied. The
# current statement uses 1, and there are 4 supplied.
sqlite3 在 'John'
后带有逗号
import sqlite3
conn = sqlite3.connect('test.db')
c = conn.cursor()
c.execute("SELECT * FROM stocks WHERE first_name = ?", ('John',))
print(c.fetchall())
conn.close()
# [(1, 'John')]
这是不可能的。因为您使用的是元组,如果您有一个元素,则需要逗号。通过将括号 () 替换为方括号 [].
来使用列表
您的陈述在以下细节上有所不同:
('John') ## this is not a tuple, it just evaluates to the string 'John'
('John',) ## this *is* a tuple, containing a string 'John' as its only element
但是,只有在元组只有一项的情况下才存在差异。
('John', 'Sue') == ('John', 'Sue',)
... 是一个正确的陈述,因为一旦您拥有多个项目,该值就会明确解析为一个元组;不需要尾随逗号。
我正在使用 sqlite3,它要求我们在元组(值)的最后一项之后放置尾随逗号。下面的示例应该 return 预期输出 (2, 3,)
。是否有可以处理此问题的内置函数?
args = 2, 3
print(args)
# (2, 3)
print((args,))
# ((2, 3),)
sqlite3 在 'John'
后没有尾随逗号import sqlite3
conn = sqlite3.connect('test.db')
c = conn.cursor()
c.execute("SELECT * FROM stocks WHERE first_name = ?", ('John'))
print(c.fetchall())
conn.close()
# sqlite3.ProgrammingError: Incorrect number of bindings supplied. The
# current statement uses 1, and there are 4 supplied.
sqlite3 在 'John'
后带有逗号import sqlite3
conn = sqlite3.connect('test.db')
c = conn.cursor()
c.execute("SELECT * FROM stocks WHERE first_name = ?", ('John',))
print(c.fetchall())
conn.close()
# [(1, 'John')]
这是不可能的。因为您使用的是元组,如果您有一个元素,则需要逗号。通过将括号 () 替换为方括号 [].
来使用列表您的陈述在以下细节上有所不同:
('John') ## this is not a tuple, it just evaluates to the string 'John'
('John',) ## this *is* a tuple, containing a string 'John' as its only element
但是,只有在元组只有一项的情况下才存在差异。
('John', 'Sue') == ('John', 'Sue',)
... 是一个正确的陈述,因为一旦您拥有多个项目,该值就会明确解析为一个元组;不需要尾随逗号。