我正在创建一个数据库连接。 在尝试添加到DB时,我正在考虑用信息创建元组,然后将它们添加到DB中。

我从用户获取信息并将其存储在变量中。 我可以将这些变量添加到元组中吗?你能帮我解释一下语法吗?

我只需要元组输入信息到DB。一旦信息添加到DB,我是否应该删除元组?我不再需要元组了。


当前回答

另一个没有提到的策略是使用追加到列表,然后在最后将列表转换为元组:

mylist = []
for x in range(5):
    mylist.append(x)
mytuple = tuple(mylist)
print mytuple

返回

(0, 1, 2, 3, 4)

当我必须传递一个元组作为函数参数时,我有时会使用这个,这对于numpy函数来说通常是必要的。

其他回答

另一个没有提到的策略是使用追加到列表,然后在最后将列表转换为元组:

mylist = []
for x in range(5):
    mylist.append(x)
mytuple = tuple(mylist)
print mytuple

返回

(0, 1, 2, 3, 4)

当我必须传递一个元组作为函数参数时,我有时会使用这个,这对于numpy函数来说通常是必要的。

正如其他答案所指出的,您不能更改现有的元组,但您总是可以创建一个新的元组(它可以从现有的元组和/或其他来源中获取部分或全部项)。

例如,如果所有感兴趣的项都在标量变量中,并且您知道这些变量的名称:

def maketuple(variables, names):
  return tuple(variables[n] for n in names)

被使用,如在本例中:

def example():
  x = 23
  y = 45
  z = 67
  return maketuple(vars(), 'x y z'.split())

当然,这种情况下可以更简单地表示为(x, y, z)(或者甚至将名称一起省略,(23,45,67)),但maketuple方法可能在一些更复杂的情况下有用(例如,所使用的名称也是动态确定的,并在计算过程中添加到列表中)。

你可以从一个空白的元组开始,比如t =()。你可以用+进行加法,但你必须添加另一个元组。如果您想添加单个元素,请将其设置为单例:t = t + (element,)。您可以添加包含多个元素的元组,可以带逗号,也可以不带逗号。

>>> t = ()
>>> t = t + (1,)
>>> t
(1,)
>>> t = t + (2,)
>>> t
(1, 2)
>>> t = t + (3, 4, 5)
>>> t
(1, 2, 3, 4, 5)
>>> t = t + (6, 7, 8,)
>>> t
(1, 2, 3, 4, 5, 6, 7, 8)

如下所示:

info_1 = "one piece of info"
info_2 = "another piece"
vars = (info_1, info_2)
# 'vars' is now a tuple with the values ("info_1", "info_2")

然而,Python中的元组是不可变的,因此一旦创建了元组,就不能向其添加变量。

我很确定python中的语法是:

user_input1 = raw_input("Enter Name: ")
user_input2 = raw_input("Enter Value: ")
info = (user_input1, user_input2)

元组一旦设置,就不能更改。