将variables添加到元组

我正在学习Python并创build一个数据库连接。 在尝试添加到数据库时,我正在考虑从信息中创build元组,然后将它们添加到数据库中。

我在做什么 :我正在从用户那里获取信息并将其存储在variables中。 我可以将这些variables添加到一个元组中吗? 你能帮我一下语法吗?

另外,如果有这样做的有效方式,请分享…

编辑让我编辑一下这个问题…我只需要元组input数据库的信息。 一旦信息被添加到数据库,我应该删除元组? 我的意思是我不需要这个元组了。

元组是不可改变的; 你不能改变它们包含的variables。 但是,您可以连接或切片它们以形成新的元组:

a = (1, 2, 3) b = a + (4, 5, 6) c = b[1:] 

当然,从现有的价值观中build立它们:

  name = "Joe" age = 40 location = "New York" joe = (name, age, location) 

你可以用类似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) 

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

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

回报

 (0, 1, 2, 3, 4) 

我有时使用这个,当我必须传递一个元组作为函数参数,这是numpy函数经常需要的。

这很简单,如下所示:

 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中的元组是不可变的 ,因此一旦创build了元组,variables就不能附加到元组中。

“一旦信息被添加到数据库,我应该删除元组吗?我的意思是我不需要元组了。

没有。

一般来说,没有理由删除任何东西。 有一些删除的特殊情况,但是非常非常罕见。

只需定义一个狭义的范围(即一个类中的函数定义或方法函数),这些对象将在范围的末尾被垃圾收集。

不要担心删除任何东西。

[注意。 我和一个人一起工作,除了试图删除对象之外,总是写着“重置”方法来清除它们。 就像他要拯救他们并重新使用他们一样。 也是一个愚蠢的自负。 只要忽略你不再使用的对象。 如果你用足够小的代码块来定义你的函数,你就没有什么可考虑的了。]

正如其他答案已经指出,你不能改变现有的元组,但你总是可以创build一个新的元组(可能需要从现有的元组和/或其他来源的一些或所有项目)。

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

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

被使用,例如,在这个例子中:

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

当然这个例子可以更简单地表示为(x, y, z) (或者甚至完全在名称前面, (23, 45, 67) maketuple (23, 45, 67) ),但是在一些更复杂的情况下, maketuple方法可能是有用的(例如,所使用的名称也是dynamic确定的,并在计算过程中附加到列表中)。

我很确定这个在Python中的语法是:

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

一旦设置,元组不能被改变。