首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在for循环中使用.split()函数引用自己的参数

在for循环中使用.split()函数引用自己的参数
EN

Stack Overflow用户
提问于 2021-11-08 14:42:42
回答 1查看 45关注 0票数 1

我正在尝试以以下格式拆分给定的字符串输入:

automobile car manufacturer maker children kids

并将其转换为如下所示的列表:

[['automobile','car'],['manufacturer', 'maker'], ['children', 'kids']]

外层列表基本上应该由三个空格分隔,而内部列表基本上应该由单个空格分隔。

我的代码:

代码语言:javascript
运行
复制
replacement_pairs = input().split('   ')
for p in replacement_pairs:
    p = p.split(' ')
print(replacement_pairs)

而是返回以下内容:

['automobile car', 'manufacturer maker', 'children kids']

EN

Stack Overflow用户

发布于 2021-11-08 14:46:11

使用简单的列表理解

代码语言:javascript
运行
复制
data = 'automobile car   manufacturer maker   children kids'

replacement_pairs = [group.split(' ') for group in data.split('   ')]

print(replacement_pairs)

结果:

代码语言:javascript
运行
复制
[['automobile', 'car'], ['manufacturer', 'maker'], ['children', 'kids']]

在您当前的代码中:

代码语言:javascript
运行
复制
    p = p.split(' ')

是一个无操作,因为在下一次迭代中,p只是被分配给下一个元素。您不能对其进行任何赋值。一个简单的解决方法是使用累加列表而不是赋值:

代码语言:javascript
运行
复制
replacement_pairs = input().split('   ')
result = []
for p in replacement_pairs:
    result.append(p.split(' '))
print(result)
票数 4
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69885335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档