Python列表索引变量问题:如何让变量关联索引而非值?
解决方法
首先得明白,Python里像整数这种不可变类型,赋值的时候是把值直接复制给变量的。你给one赋值my_list[0],其实是把1这个值存到了one里,和原列表的索引彻底没关系了,之后改列表元素自然不会影响one。
不用函数的话,最简单的办法是让one存列表的索引,而不是对应位置的值:
my_list = [1, 2, 3, 4, 5, 6] one = 0 # 直接存储目标索引 print(my_list[one]) # 输出 1 my_list[0] = '$' print(my_list[one]) # 输出 $
如果想让one直接调用就能获取对应值(不用每次写my_list[one]),还可以用一个单元素列表来存索引——因为列表是可变类型,变量指向的是容器本身,不会和值绑定死:
my_list = [1, 2, 3, 4, 5, 6] one = [0] # 用列表容器存索引 print(my_list[one[0]]) # 输出 1 my_list[0] = '$' print(my_list[one[0]]) # 输出 $
第一种方法最直观,也最适合初学者上手。
内容的提问来源于stack exchange,提问作者sim175
相关产品推荐
相关产品推荐

