python - 禁用 Python 跨行自动连接字符串
问题描述
我正在创建一长串这样的字符串:
tlds = [
'com',
'net',
'org'
'edu',
'gov',
...
]
后面漏了一个逗号'org'
。Python 自动将其与下一行中的字符串连接到'orgedu'
. 这成为一个很难识别的错误。
已经有很多方法可以定义多行字符串,其中一些非常明确。所以我想知道有没有办法禁用这种特殊行为?
解决方案
柏拉图式的正确做法是修改 linter。但我认为生命太短暂了,而且如果下一个程序员不知道你修改过的 linter,他/她的生活将是一个活生生的地狱。
确保输入(即使是硬编码)是有效的也不应该感到羞耻。如果适合我,我会像这样实施手动解决方法:
tlds = [
'com',
'net',
'org'
'edu',
'gov',
]
redone = ''.join(tlds)
chunk_size = 3
tlds = [ redone[i:i+chunk_size] for i in range(0, len(redone), chunk_size) ]
# Now you have a nice `tlds`
print(tlds)
你可以忘记逗号,在同一行写两个元素,甚至在同一个字符串中写你想要的。chunk_size
您也可以邀请粗心的代码协作来弄乱它,如果您的应用程序没问题的话,文本将在稍后三个()重做。
编辑:稍后到@Jasmijn 的注释,我认为如果我们有动态大小的条目,我们可以使用这样的文字输入:
tlds = ['''com
net
org
edu
gov
nl
co.uk''']
# This way every line is an entry by its own as seen directly without any quotations or decorations except for the first and last inputs.
tlds = '\n'.split(tlds)
推荐阅读
- php - 为关联数组中的重复值和单个值创建键
- java - 使用 ListView 使 LinearLayout 可滚动
- bootstrap-4 - 限制选择中显示的行数
- python - 明智有效地替换熊猫数据框元素中不需要的字符串
- solr - Solr Cloud 无法针对大量唯一值构建建议字典
- r - 将两个数据帧与所有可能的组合组合起来
- java - 什么是“Java 数字类型”
- sed - 如何在文件中搜索位置 12 中的字符,如果找到,从所有行中删除该字符和接下来的 5 个字符?
- php - mongoDB 的 $slice 运算符在 PHP 中不起作用
- reactjs - Puppeteer - 点击有时不执行