python - 将转义字符 (\n) 添加到字符串元组中的最后一个元素
问题描述
我有一个这样的字符串元组:
stringTuple = ['String1', 'String2', 'String3', 'String4', 'String5', 'String6']
我后来将这个元组与其他多个元组结合起来并输入到一个 Excel 文档中。我需要在每个元组之间换行 - 所以我需要它看起来像这样。
stringTuple = ['String1', 'String2', 'String3', 'String4', 'String5', 'String6\n']
我研究了不同类型的字符串连接,例如:
stringTuple[-1:] = stringTuple[-1:] + '\n'
没有运气
解决方案
列表中的最后一个元素是stringTuple[-1]
.
将换行符添加到列表中的最后一个元素:
stringTuple[-1] = stringTuple[-1] + "\n"
要不就:
stringTuple[-1] += "\n"
顺便说一句,stringTuple[-1:]
是你数组的一部分(有趣的读物是另一个 SO 问题,Understanding slice notation)。stringTuple[start:]
产生一个列表中所有项目的列表,从索引start
开始。在这种情况下,stringTuple[-1:]
是从最后一个索引开始的所有项目的列表(即原始列表中最后一个项目的列表):
stringTuple = ['String1', 'String2', 'String3', 'String4', 'String5', 'String6']
print(stringTuple[-1:]) # ['String6']
使用元组进行这项工作
元组是不可变的,所以你不能就地修改(如果你想修改元组中的项目,你实际上需要创建一个包含修改后的项目的新元组):
stringTuple = ('String1', 'String2', 'String3', 'String4', 'String5', 'String6')
# get last item in tuple, add line break to it
lastItemWithLineBreak = stringTuple[-1] + "\n"
# create a new tuple consisting of every item in our original list but the last
# and then add our new modified item to the end
newTuple = tuple(i for i in stringTuple[:-1]) + (lastItemWithLineBreak,)
print(newTuple) # ('String1', 'String2', 'String3', 'String4', 'String5', 'String6\n')
请注意特殊符号(lastItemWithLineBreak,)
,它用于创建由单个元素组成的元组lastItemWithLineBreak
。
推荐阅读
- python - 在熊猫数据框的平面文件中插入缺失的日期
- sql - 如何在格式不同的字段上连接两个表
- c++ - 如何进行执行所有 Boost 单元测试的测试
- listview - 如何在页面末尾设置 ListView
- javascript - 为什么 shouldComponentUpdate() 中的 nextProps 和 this.props 是一样的?
- angular - 行上的 Mat-table 事件已添加
- javascript - Javascript函数未在所需字段中提供算术值
- react-native - React Native Animated 如何实现 ReLU(y = 0 表示负 x,y = x 表示正 x)
- selenium-webdriver - 将会话 cookie 导出为 JSON 格式以导入 Chrome
- ios - Dart devtools 内存视图无法处理堆栈溢出错误