Python 3.x 如何用不带双引号的字符串替换列表元素?
我有这样一个简单的列表:Python 3.x 如何用不带双引号的字符串替换列表元素?,python-3.x,list,Python 3.x,List,我有这样一个简单的列表: list = ['A','B','C'] >>> list[1] = str >>> list ['A', "'W','T'", 'C'] ['A','W','T','C'] 并用该字符串替换l1的元素#1: str = "'W','T'" 我是这样做的: list = ['A','B','C'] >>> list[1] = str >>> list
list = ['A','B','C']
>>> list[1] = str
>>> list
['A', "'W','T'", 'C']
['A','W','T','C']
并用该字符串替换l1的元素#1:
str = "'W','T'"
我是这样做的:
list = ['A','B','C']
>>> list[1] = str
>>> list
['A', "'W','T'", 'C']
['A','W','T','C']
如何将list[1]
值替换为str
内容而不使用双引号?像这样:
list = ['A','B','C']
>>> list[1] = str
>>> list
['A', "'W','T'", 'C']
['A','W','T','C']
列表[项目]=str(列表[项目])
mylist=[1,3,5]
>>>mylist[0]=str(mylist[0])
>>>迈利斯特
['1', 3, 5]
>>>
您不能像那样直接插入它。您需要首先清理它,并将其转换为列表,然后使用切片
list1 = ['A','B','C']
str1 = "'W','T'"
new_list = [a.strip("'") for a in str1.split(",")]
list1 = list1[:1] + new_list + list1[2:]
print(list1) # ['A', 'W', 'T', 'C']
我还修改了变量名,因为
list
和str
是保留关键字。您必须将字符串的元素放入列表,然后将列表元素添加到目标列表中所需的位置
list_ = ['A', 'B', 'C']
string = "'W','T'"
formatted = [letter for letter in string if letter.isalpha()]
i = 1 #index of element to replace
list_[i:(i + len(formatted))-1] = formatted
print(list_)
您的预期输出是什么?您好,预期输出将是
['A','W','T','C']
。在原始帖子中添加了预期输出。@GerCas以及“'W,X','T'”的预期输出是什么?
?谢谢您的回答。但是我想要的是,在重新评估列表[1]
值和str
内容时删除双引号,如原始帖子中的预期输出所示。sry我不理解这个问题。。。我不确定你是想脱衣还是只是穿上……嗨,没问题。无论如何感谢您的帮助请注意,问题中的就地分配是可能的,因为list1[1:2]=new\u list
。还要注意,list
和str
不是关键字。