为了账号安全,请及时绑定邮箱和手机立即绑定

python如何用for循环修改一个list中元素的值?

python如何用for循环修改一个list中元素的值?

慕的地6264312 2019-02-06 11:07:32
l = ['1', '2', '1', '1']for i in l:     if i == '1':         i = '3'print(l)为什么l的结果还是['1', '2', '1', '1'],如何修改成['3', '2', '3', '3']?
查看完整描述

3 回答

?
UYOU

TA贡献1878条经验 获得超4个赞

l = ['1', '2', '1', '1']
new_l = []
for i in l:

if i == '1':
    new_l.append(3)else:
    new_l.append(i)

l = new_l
print(l)


查看完整回答
反对 回复 2019-03-13
?
函数式编程

TA贡献1807条经验 获得超9个赞

# 方法一

for i in range(len(l)):

     if l[i] == '1':

          l[i] = '3'

# 方法二

for i, item in enumerate(l):

    if item == '1':

          l[i] = '3'

另外,如果要删除元素,建议不要直接在原数据上做修改,比较谨慎的做法是复制一份出来list.remove(value) 删除。

查看完整回答
反对 回复 2019-03-13
?
手掌心

TA贡献1942条经验 获得超3个赞

# 修改原列表

for idx, i in enumerate(l):

    if i == '1':

        l[idx] = '3'

# 或产生新的列表

l = ['3' if i=='1' else i for i in l]        


查看完整回答
反对 回复 2019-03-13
  • 3 回答
  • 0 关注
  • 1862 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信