Python不替换列表中的值
我正在尝试编辑列表中的值,以便使此列表与程序中其他地方的列表相似 我从一个文档中得到一个值列表,并希望将“关”改为“否”,将“开”改为“是”,将“空”改为“空”,等等 但是,由于某些原因,以下代码没有替换这些值:Python不替换列表中的值,python,list,Python,List,我正在尝试编辑列表中的值,以便使此列表与程序中其他地方的列表相似 我从一个文档中得到一个值列表,并希望将“关”改为“否”,将“开”改为“是”,将“空”改为“空”,等等 但是,由于某些原因,以下代码没有替换这些值: counter = 0 while counter < len(value_list)-1: if str(value_list[counter]) in ("", " ", "N/A"): value_list[counter] = "Null"
counter = 0
while counter < len(value_list)-1:
if str(value_list[counter]) in ("", " ", "N/A"):
value_list[counter] = "Null"
elif str(value_list[counter]) == "Off":
value_list[counter] = "No"
elif str(value_list[counter]) == "On":
value_list[counter] = "Yes"
counter += 1
print counter, value_list[counter]
我看了一下,但是使用enumerate给了我和现在一样的问题。我最好还是坚持使用一个计数器变量和if/elif/else语句,因为我是办公室里为数不多的几个程序员之一,我希望其他人能够轻松理解这一点 看起来字符串中实际上包含双引号。从字符串中删除它们:
while counter < len(value_list)-1:
value = value_list[counter].strip('"')
if value in ("", " ", "N/A"):
...
看起来字符串中实际上包含双引号。从字符串中删除它们:
while counter < len(value_list)-1:
value = value_list[counter].strip('"')
if value in ("", " ", "N/A"):
...
此处显示的输出不可能:
counter = 0
while counter < len(value_list)-1:
if str(value_list[counter]) in ("", " ", "N/A"):
value_list[counter] = "Null"
elif str(value_list[counter]) == "Off":
value_list[counter] = "No"
elif str(value_list[counter]) == "On":
value_list[counter] = "Yes"
counter += 1
print counter, value_list[counter]
此处显示的输出不可能:
counter = 0
while counter < len(value_list)-1:
if str(value_list[counter]) in ("", " ", "N/A"):
value_list[counter] = "Null"
elif str(value_list[counter]) == "Off":
value_list[counter] = "No"
elif str(value_list[counter]) == "On":
value_list[counter] = "Yes"
counter += 1
print counter, value_list[counter]
为了保持一致性,他可能希望在替换中包含双引号:
value\u list[counter]=“No”
谢谢!我没有意识到它从文档中引入了引号。为了保持一致性,他可能希望在替换中包含双引号:value\u list[counter]=“No”
谢谢!我不知道它是从文档中引用的。你是故意跳过列表的最后一个元素吗?你是故意跳过列表的最后一个元素吗?谢谢!我一定是把订单全忘了。是的,你忘了。然而,当我从一个文档中抓取数据时,它还引入了“双引号”。更新了答案以考虑到这一点,并使用字典进行翻译。谢谢!我一定是把订单全忘了。是的,你忘了。然而,当我从一份文件中抓取数据时,它还引入了“双引号”。更新了答案以考虑到这一点,并使用字典进行翻译。
translation_dict = {"": "Null",
" ": "Null",
"N/A": "Null",
"Off": "No",
"On": "Yes"}
for counter in range(len(value_list)):
old_value = str(value_list[counter]).strip('"')
if old_value in translation_dict:
value_list[counter] = translation_dict[old_value]
print counter, value_list[counter]