Python遍历列表时获取到各元素对应位置字符而非完整元素如何解决
问题原因
当你使用for i in reg_0遍历列表时,迭代变量i每次拿到的已经是列表的完整元素(你案例中的元素均为字符串类型)。你额外添加的[0]下标,等同于取每个字符串的第一个字符,所以最终得到了四个元素的首字母输出。
解决方案
按使用场景选择对应调整方案即可:
场景1:仅需要取指定位置的单个元素
不需要写for循环,直接通过列表索引取值即可,Python列表索引从0开始计数,取第一个元素的代码如下:
reg_0 = ['LDf12yiH3xpt4dtepYyqdw==', '802970-0', 'LIFETIME RENTS', 'LIFE ASSURANCE'] expected_output = reg_0[0] print(expected_output)
执行后输出:LDf12yiH3xpt4dtepYyqdw==,符合预期。
场景2:需要遍历所有元素并分别赋值/处理
循环内直接使用迭代变量即可,不需要额外加下标:
reg_0 = ['LDf12yiH3xpt4dtepYyqdw==', '802970-0', 'LIFETIME RENTS', 'LIFE ASSURANCE'] # 遍历打印所有完整元素 for item in reg_0: print(item) # 如果要把所有元素分别赋值给独立变量,可以直接用列表解包语法 val1, val2, val3, val4 = reg_0 print(val1) # 同样输出第一个元素
内容的提问来源于stack exchange,提问作者anubiros_theron
相关产品推荐
相关产品推荐

