python - 在 for 循环中使用 .split() 函数引用自己的参数
问题描述
我正在尝试以以下格式拆分给定的字符串输入:
automobile car manufacturer maker children kids
并将其转换为如下列表:
[['automobile','car'],['manufacturer', 'maker'], ['children', 'kids']]
外部列表基本上应该用三个空格分隔,而内部列表应该是单个空格。
我的代码:
replacement_pairs = input().split(' ')
for p in replacement_pairs:
p = p.split(' ')
print(replacement_pairs)
改为返回:
['automobile car', 'manufacturer maker', 'children kids']
解决方案
使用简单的列表推导
data = 'automobile car manufacturer maker children kids'
replacement_pairs = [group.split(' ') for group in data.split(' ')]
print(replacement_pairs)
结果:
[['automobile', 'car'], ['manufacturer', 'maker'], ['children', 'kids']]
在您当前的代码中:
p = p.split(' ')
是一个无操作,因为p
它只是在下一次迭代中被分配给下一个元素。你不能对它做任何分配。一个简单的解决方法是使用累积列表而不是赋值:
replacement_pairs = input().split(' ')
result = []
for p in replacement_pairs:
result.append(p.split(' '))
print(result)
推荐阅读
- javascript - 使用id时如何使用Sequelize创建关联?
- c# - Visual Studio 缩放 DPI 问题
- python - 在没有服务器的 s3 存储桶之间移动大文件(500GB 或更多)
- list - 从数据框中的字符串列表中提取元素(非破坏性)
- python - Flask Blueprint 未使用正确的模板文件夹
- list - OCaml 查找 n 出现在列表中的次数
- list - 如何使嵌套列表在飞镖中正常工作?
- groovy - 尝试为类成员分配多个值时,为什么会出现编译错误?
- javascript - 如何在javascript中使用unicode字符
- php - 用自定义短信替换 WooCommerce 购物车运输部分