python - 在 Python 中拆分连接字符串的正确而优雅的方法

标签 python list join split syntax-error

我有以下列表:

>>> poly
'C:\\04-las_clip_inside_area\\16x16grids_1pp_fsa.shp'
>>> record
1373155

我想创建:

'C:\\04-las_clip_inside_area\\16x16grids_1pp_fsa_1373155.txt'

我希望拆分以获得“C:\04-las_clip_inside_area\16x16grids_1pp_fsa16x16grids_1pp_fsa”部分。

我试过这个两行代码的解决方案:

mylist = [poly.split(".")[0], "_", record, ".txt"]
>>> mylist
['C:\\04-las_clip_inside_area\\16x16grids_1pp_fsa', '_', 1373155, '.txt']

从这里开始,阅读 Python join, why is it string.join(list) instead of list.join(string)? 中的示例.

我发现这个解决方案是联合的,但我收到了这个错误信息:

>>> mylist.join("")
Traceback (most recent call last):
  File "<interactive input>", line 1, in <module>
AttributeError: 'list' object has no attribute 'join'

另外如果我使用:

>>> "".join(mylist)
Traceback (most recent call last):
  File "<interactive input>", line 1, in <module>
TypeError: sequence item 2: expected string, int found

最佳答案

Python join: why is it string.join(list) instead of list.join(string)?

所以有

"".join(mylist)

代替

mylist.join("")

这是你的错误。

要解决您的 int/string 问题,请将 int 转换为字符串:

mylist= [poly.split(".")[0],"_",str(record),".txt"]

或者直接写:

"{}_{}.txt".format(poly.split(".")[0], record)

关于python - 在 Python 中拆分连接字符串的正确而优雅的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12840223/

相关文章:

python - Django 迁移不会更改 AWS Elastic Beanstalk 中的数据库

python - 对彼此链接的 2 个列表进行排序

mysql - 2 表连接和 1 组连接

python - 如何在numpy中有效地从Nx3点云阵列获取表面点?

python - 你如何在 Tensorflow 中进行预测

python - 将括号内的数字解析为负数

Python:如何在仅更改特定元素时查找列表的所有组合

python - 如何通过检查 python 列表是否与给定模式匹配来对列表进行排序?

MySQL连接问题

mysql - SQL:将 2 个选择查询的结果合并为 1 行