程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Python >> Python如何聲明只有一個元素的元祖

Python如何聲明只有一個元素的元祖

編輯:Python

調試程序的時候,就吃過這個虧,不知道為何Python使用括號做元祖聲明邊界符,估計是找不到合適的符號了。中括號用來聲明列表,花括號用來聲明字典,元祖號只能用括號來聲明了。有其他語言編程經歷的朋友都清楚括號在其它語言裡都是表示優先級,而Python也可以用來表示優先級,所以也就引發了以下白癡的問題。

 

# encoding=UTF-8

obj = ('tuple')

print obj
print type(obj)
print len(obj)

執行結果

tuple
<type 'str'>
5

我本來是想聲明只有一個元素的元祖,而Python估計以為你只是聲明一個字符串所以結果以obj變量就變成元祖了。這個錯誤非常隱形,不好調試。

解決方法:末尾加一個逗號

# encoding=UTF-8

obj = ('tuple',)

print obj
print type(obj)
print len(obj)

執行結果

('tuple',)
<type 'tuple'>
1

使用tuple關鍵字:將會得到意外的結果

# encoding=UTF-8

obj = tuple('tuple')

print obj
print type(obj)
print len(obj)

執行結果

('t', 'u', 'p', 'l', 'e')
<type 'tuple'>
5

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved