我正在學習Python並創建數據庫連接。 在嘗試添加到數據庫時,我正在考慮從信息中創建元組,然後將它們添加到數據庫中。將變量添加到Tuple
我在做什麼: 我從用戶那裏獲取信息並將其存儲在變量中。 我可以將這些變量添加到元組中嗎?你能幫我一下語法嗎?
此外,如果有這樣的一個有效的方法,請分享...
編輯 讓我編輯這個問題有點......我只需要在元組輸入信息到數據庫。一旦信息被添加到數據庫,我應該刪除元組?我的意思是我不再需要這個元組了。
我正在學習Python並創建數據庫連接。 在嘗試添加到數據庫時,我正在考慮從信息中創建元組,然後將它們添加到數據庫中。將變量添加到Tuple
我在做什麼: 我從用戶那裏獲取信息並將其存儲在變量中。 我可以將這些變量添加到元組中嗎?你能幫我一下語法嗎?
此外,如果有這樣的一個有效的方法,請分享...
編輯 讓我編輯這個問題有點......我只需要在元組輸入信息到數據庫。一旦信息被添加到數據庫,我應該刪除元組?我的意思是我不再需要這個元組了。
元組是不可變的;你不能改變它們在構建後包含哪些變量。但是,您可以連接或切片他們形成新的元組:
a = (1, 2, 3)
b = a + (4, 5, 6)
c = b[1:]
,當然,從現有的值進行編譯:
name = "Joe"
age = 40
location = "New York"
joe = (name, age, location)
這是那麼容易,因爲以下幾點:
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)
一次集,元組不能改變。
至於其他的答案已經指出,你不能改變現有的元組,但你總是可以創建一個新的元組(可能會從現有的元組和/或其他來源獲取一些或全部項目)。
例如,如果感興趣的所有項目都在標量,你知道這些變量的名字:
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
方法可能在一些更復雜的情況下是有用的(例如,其中使用的名稱也是確定的dyna在計算過程中將其附加到列表中)。
「一旦信息被添加到數據庫,我應該刪除元組嗎?我的意思是我不需要元組了。」
號
一般情況下,沒有理由刪除任何內容。有一些刪除特殊情況,但它們非常非常罕見。
只需定義一個狹窄範圍(即函數定義或類中的方法函數),並且該對象將在範圍末尾被垃圾回收。
不要擔心刪除任何東西。
[注意。我和一個人一起工作 - 除了試圖刪除對象外 - 總是在寫「重置」方法來清除它們。就像他要拯救他們並重新使用他們一樣。也是一個愚蠢的自負。只要忽略你不再使用的對象。如果你用足夠小的代碼塊來定義你的函數,那麼你就沒有什麼可考慮的了。]
你可以用類似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)
在這個示例中,還可以這樣做:'t =()'then't + =(1, )' – 2015-01-20 23:24:59
沒有提到使用附加到一個列表,然後在最後的列表轉換爲一個元組的另一個策略:
mylist = []
for x in range(5):
mylist.append(x)
mytuple = tuple(mylist)
print mytuple
回報
(0, 1, 2, 3, 4)
我有時用這個當我必須傳遞一個元組作爲函數參數時,這對numpy函數來說通常是必需的。
我只需要這些元組在用戶輸入後添加到數據庫中。所以我應該在更新到db完成後摧毀這些元組嗎? – amit 2009-09-04 18:42:43
更新數據庫後,您不需要破壞元組。如果他們超出範圍,他們應該被垃圾收集。 – 2009-09-04 18:56:36
在字符串中添加字符串而不破壞字符串本身檢查https://stackoverflow.com/a/16449189 – 2017-12-24 19:24:29