python创建只包含一个元素的元组时_Python中声明只包含一个元素的元组数据方法...

调试程序的时候,就吃过这个亏,不知道为何Python使用括号做元组声明边界符,估计是找不到合适的符号了。中括号用来声明列表,花括号用来声明字典,元组号只能用括号来声明了。有其他语言编程经历的朋友都清楚括号在其它语言里都是表示优先级,而Python也可以用来表示优先级,所以也就引发了以下白痴的问题。

# encoding=UTF-8

obj = (‘tuple‘)

print obj

print type(obj)

print len(obj)

执行结果

tuple

5

我本来是想声明只有一个元素的元组,而Python估计以为你只是声明一个字符串所以结果以obj变量就变成元组了。这个错误非常隐形,不好调试。

解决方法:末尾加一个逗号

# encoding=UTF-8

obj = (‘tuple‘,)

print obj

print type(obj)

print len(obj)

执行结果

(‘tuple‘,)

1

使用tuple关键字:将会得到意外的结果

# encoding=UTF-8

obj = tuple(‘tuple‘)

print obj

print type(obj)

print len(obj)

执行结果

(‘t‘, ‘u‘, ‘p‘, ‘l‘, ‘e‘)

5

原文:http://www.jb51.net/article/54267.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值