关于Python修改列表的值的问题

由于惯性思维,导致使用for循环修改列表中的值出现问题

首次尝试:

    

def make_great(original):
    for magician in original:
        magician = "the Great " + magician

magicians = ["david", "tom", "jimmy"]
make_great(magicians)
show_magicians(magicians)

运行结果:

显然列表中的值并没有改变。

思考:for语句定义一个变量进行遍历,但只是访问当前值。操作列表中的值正确方法是使用下标。

修改后:

def make_great(original):
    j = len(original)
    for i in range(0, j):
        original[i] = "the Great " + original[i]

运行结果:

原文地址:https://www.cnblogs.com/kintsugi/p/12423088.html

时间: 2024-10-09 13:50:14

关于Python修改列表的值的问题的相关文章

Python练习-列表取值

C# 使用IEnumerable,yield 返回结果,同时使用foreach时,在循环内修改变量的值无效

在项目中遇到了一个比较奇怪的问题,在foreach循环中修改列表的值后没有生效,后面使用时还是获取列表时的值,原因是因为使用了 yield return .下面让我们来探究下其中的原因: 首先来看下 yield return 官方的解释 使用 yield return 语句可一次返回一个元素.通过 foreach 语句或 LINQ 查询来使用迭代器方法. foreach 循环的每次迭代都会调用迭代器方法. 迭代器方法运行到 yield return 语句时,会返回一个 expression,并保

?python打印列表的下标和值的例子:

python打印列表的下标和值的例子: In [1]: list01=[1,4,5] In [10]: def funct01(ll):   ....:     for index,value in enumerate(ll):   ....:         print index,value   ....: In [11]: funct01(list01)0 11 42 5

python循环修改列表注意事项

python循环列表且需要修改列表元素时,需注意不能边循环列表,边修改列表,否则会导致莫名奇妙的结果错误. 以简单的冒泡排序的一次排序为例 将列表[12, 3, 15, 7, 45, 33, 9, 76, 40, 56]使用冒泡算法按照从小到大排序.(仅写一次排序过程,即找到最大的放到最后) 如果写为: src_list = [12, 3, 15, 7, 45, 33, 9, 76, 40, 56] for (index, value) in enumerate(src_list[:-1]): 

Python批量修改寄存器的值

在写代码过程中,我们修改代码中寄存器的值,但是有时寄存器的数据较多,手动修改容易出现错误而且花费的时间长 这是一段寄存器的配置值: 0x00, 0x34  0x35, 0x25  0x10, 0xd4  0xf5, 0xa5  0x00, 0x34  0x3a, 0xff  0x00, 0x00  0x34, 0x25 这是要修改代码的值:  {Data, 0x21, 0x23},  {Data, 0x34, 0x23},  {Data, 0xd1, 0x2a},  {Data, 0xe1, 0

Python 字符串——巧取值和列表——巧取值 对比

Python 字符串——巧取值和列表——巧取值 对比 1.字符串取值实例: samp_string = "Whatever you are, be a good one." for i in samp_string: print(i) for i in range(0,len(samp_string)-2,2): print(samp_string[i]+samp_string[i+1]) print('A=',ord("A")) print('65=',chr(6

Python学习之路:通过分片的方式修改列表的技巧(拓展知识)

一.为列表添加值 用分片的方式可以在列表的头部和尾部添加值 1.在列表的头部添加值 x = [1, 2, 3] #创建列表x x[:0] = [0] #用分片的方式在列表头部添加值 print(x) 结果为: [0, 1, 2, 3] #添加成功 注:相当于x.insert(0, 0) 2.在列表的尾部添加值 x = [1, 2, 3] x[len(x):] = [4] #用分片的方式在列表的尾部添加值 print(x) 结果为: [1, 2, 3, 4] 注:相当于x.insert(len(x

python字典嵌套列表取值

dict={'log_id': 5891599090191187877, 'result_num': 1, 'result': [{'probability': 0.9882395267486572, 'top': 205, 'height': 216, 'classname': 'Face', 'width': 191, 'left': 210}]} 1.访问dict的值 print(dict['log_id']) 2.访问dict下的result列表的值: print(dict['resul

python的列表,元组和字典简单介绍

引 入 java                                   python 存取多个值:数组或list集合 ------------------------> 列表,元组 key-value格式:    Map        ------------------------>    字典 自己学习发现,java跟python这两门面向对象语言在数据类型的定义上,很多思想都是互通的,这里不说java,简单介绍一下python的列表,元组和字典. 一.列表 List: 最通