Python中声明只包含一个元素的元组数据方法
更新时间:2014年08月25日 08:50:33 投稿:junjie
这篇文章主要介绍了Python中声明只包含一个元素的元组数据方法,本文是实际经验总结而来,没有碰到这个需要可能不会注意到这个问题,需要的朋友可以参考下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud)
(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun)
调试程序的时候,就吃过这个亏,不知道为何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
相关文章
PyTorch基础之torch.nn.CrossEntropyLoss交叉熵损失
这篇文章主要介绍了PyTorch基础之torch.nn.CrossEntropyLoss交叉熵损失讲解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-02-02Python lxml解析HTML并用xpath获取元素的方法
今天小编就为大家分享一篇Python lxml解析HTML并用xpath获取元素的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-01-01
最新评论