python:逗号在= s中做了什么,?
发布时间:2020-12-20 11:02:43 所属栏目:Python 来源:网络整理
导读:我正在做一个问题,输入是字符串: ["abc","bcd","acef","xyz","az","ba","a","z"] 代码如下所示. def groupStrings(self,strings): groups = collections.defaultdict(list) for s in strings: tmp=[0]*len(s) for i in range(len(s)): tmp[i]=(ord(s[i])-or
我正在做一个问题,输入是字符串:
["abc","bcd","acef","xyz","az","ba","a","z"] 代码如下所示. def groupStrings(self,strings): groups = collections.defaultdict(list) for s in strings: tmp=[0]*len(s) for i in range(len(s)): tmp[i]=(ord(s[i])-ord(s[0]))%26 tmptuple=tuple(tmp) groups[tmptuple] += s,return groups.values() 所以在小组[tmptuple] = s中, 如果我删除逗号’,’ [["a","b","c","d","x","y","z"],["a","e","f"],"z","a"]] 代替 [["abc","xyz"],["acef"],["az","ba"]] 这些组只是不添加整个字符串s,任何人都可以解释为什么逗号会使它不同以及为什么我不能用逗号来做它? 解决方法
尾随逗号生成一个元组,带有单个元素s.除非存在歧义(例如,使用函数调用parens),Python不需要括号来创建元组;除了空元组(())之外,你通常可以用逗号制作元组,根本不用括号.在这种情况下,单个尾随逗号s,等同于(s,).
由于组具有列表值,这意味着do = s等于.append(s)(从技术上讲,它更接近.extend((s,)),但最终结果是相同的).有人可能试图保存一些按键. 如果省略了逗号,它将执行list = str,将str解释为一系列字符,并使用每个生成的len 1字符串扩展列表,如您所观察到的那样. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- python – 使用内置AuthenticationForm时的Django-crispy-f
- python-基于位置的Pygame重叠精灵(绘制顺序)
- 居民居住证验证工具 Python 版:获取基本信息以及生成假数据
- python3实现SMTP发送邮件详细教程
- python-2.7 – ValueError:No可以从null值创建Shapely几何
- [python]在场景中理解装饰器
- Python – 多线程 – Lock必须是全局的吗?
- Linux安装Python虚拟环境virtualenv的方法
- python http上传文件处理示例
- python – 如何设置在Rhythmbox 2.96中播放的歌曲的评级?