python更改列表中某项值,更改列表中的值-python

I have this code:

a=[['a','b','c'],['a','f','c'],['a','c','d']]

for x in a:

for y in x:

if 'a' in x:

x.replace('a','*')`

but the result is:

a=[['a','b','c'],['a','f','c'],['a','c','d']]

and bot a=[['b','c'],['f','c'],['c','d']]

What should I do so the changes will last?

解决方案

If you want to remove all occurrences of 'a' from all nested sublists, you could do:

>>> [[i for i in x if i != 'a'] for x in a]

[['b', 'c'], ['f', 'c'], ['c', 'd']]

if you want to replace them with asterisk:

>>> [[i if i != 'a' else '*' for i in x] for x in a]

[['*', 'b', 'c'], ['*', 'f', 'c'], ['*', 'c', 'd']]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值