社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python替换由split函数分隔的列表索引

Samuel V. • 5 年前 • 1693 次点击  

arr=["5;V;K;4406632419324152;0123;172;9;0;0;06012020;3000"
"2;M;K;4406553211445698;0123;124;2;0;0;06012020;2000"
"3;M;K;5412115956124218;0123;236;3;0;1;06012020;2000"
"4;V;K;4406621015140546;0123;131;9;0;0;06012020;3000"]

每个索引都是文本文件中的一行。 内容并不重要,但是,我不知道数组的任何索引的长度(意味着len(arr[I])对于每个索引都是不同的,这是我确保访问 “V”或“K”

arr[0].split(";")[1]

是否有一个简单的代码可以将索引中的第6个元素(拆分后)替换为新值?

“5;V;K;4406632419324152;0123;172; 9个 ;0;0;06012020;3000英寸

“5;V;K;4406632419324152;0123;172; ;0;0;06012020;3000英寸

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/53626
 
1693 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Nick
Reply   •   1 楼
Nick    5 年前

您可以使用带有三元运算符的列表理解来替换第6个元素:

arr=["5;V;K;4406632419324152;0123;172;9;0;0;06012020;3000",
"2;M;K;4406553211445698;0123;124;2;0;0;06012020;2000",
"3;M;K;5412115956124218;0123;236;3;0;1;06012020;2000",
"4;V;K;4406621015140546;0123;131;9;0;0;06012020;3000"]
new_value = 4
arr[0] = ';'.join(v if i != 6 else str(new_value) for i, v in enumerate(arr[0].split(';')))
print(arr)

['5;V;K;4406632419324152;0123;172;4;0;0;06012020;3000', 
 '2;M;K;4406553211445698;0123;124;2;0;0;06012020;2000', 
 '3;M;K;5412115956124218;0123;236;3;0;1;06012020;2000', 
 '4;V;K;4406621015140546;0123;131;9;0;0;06012020;3000'
]