为什么Python不索引我的列表并用新的索引版本覆盖它?仍在打印原稿

为什么Python不索引我的列表并用新的索引版本覆盖它?仍在打印原稿,python,list,loops,variables,overwrite,Python,List,Loops,Variables,Overwrite,下面是我的代码片段。我正在使用Paramiko库并试图操作shell返回的数据 输出是原始数据 var1将其转换为一个列表,我希望对其进行索引,以获取特定数据,以便在for循环中进行处理 var2是var1作为一个字符串,稍后将用于断言 var3是出现问题的地方var3应仅保存var1的指定索引值 我主要担心的是,在尝试打印屏幕抓图时,我仍然会从var1获取所有值,即使for循环应该只通过var3进行解析。这是工作良好,昨天,直到我做了一些修改,打印声明,我不确定我错在哪里。任何帮助都将不胜

下面是我的代码片段。我正在使用Paramiko库并试图操作shell返回的数据

  • 输出是原始数据
  • var1
    将其转换为一个列表,我希望对其进行索引,以获取特定数据,以便在for循环中进行处理
  • var2
    var1
    作为一个字符串,稍后将用于断言
  • var3
    是出现问题的地方
    var3
    应仅保存
    var1
    的指定索引值
我主要担心的是,在尝试打印
屏幕抓图
时,我仍然会从
var1
获取所有值,即使for循环应该只通过
var3
进行解析。这是工作良好,昨天,直到我做了一些修改,打印声明,我不确定我错在哪里。任何帮助都将不胜感激

    remote = ssh.invoke_shell()
    (*send commands here*)
    output = remote.recv(4000)
    var1 = output.splitlines()
    found_vals = []
    var2 = str(var1)
    if test_title == 'BGP Test':
        var3 = var1[14:27]
    if test_title == 'NAT Test':
        var3 = var1[26:30] + var1[39:44]
    if test_title == 'VPN-IPSECSA Test':
        var3 = var1[8:10] + var1[18:22]
    if test_title == 'LDAP Test':
        var3 = var1[13:]
    if test_title == 'FQDN Test':
        var3 = var1
        var2 = FQDN_output
    if test_title == 'SCP Test' or 'Admin Access Test'or 'NTP Access Test':
        var3 = var1
    for x in var3:
        screengrab = x.decode('utf-8')
        found_vals.append(screengrab)
        print(screengrab)

*FQDN_输出是在另一个函数中初始化的全局变量

如果我正确理解了问题,您可能希望将
print
语句从for循环中拉出,直到完成追加

在循环中:

var3='working'
for x in var3: 
    found_vals.append(x)
    print(found_vals)
你会得到结果的

w
wo
wor
...
如果你使用

for x in var3: 
    found_vals.append(x)
print(found_vals)

这将打印
工作

如果我正确理解了问题,您可能希望将
打印
语句从for循环中拉出,直到完成追加

在循环中:

var3='working'
for x in var3: 
    found_vals.append(x)
    print(found_vals)
你会得到结果的

w
wo
wor
...
如果你使用

for x in var3: 
    found_vals.append(x)
print(found_vals)

这将打印
工作

您的行:
如果test\u title==“SCP test”或…
没有按您认为的那样执行。这将执行
var3=var1
,解释您的症状。您的行:
如果测试标题=='SCP test'或…
不符合您的想法。这最终会执行解释您症状的
var3=var1
。这不是我在print语句中遇到的行为。行为的原因来自for循环的外部@夸姆拉纳成功地诊断出了这个问题。谢谢。这不是我在打印声明中所经历的行为。行为的原因来自for循环的外部@夸姆拉纳成功地诊断出了这个问题。非常感谢。