如何删除列表中没有['']部分的项目

如何删除列表中没有['']部分的项目

问题描述:

我想通过使用列表中的位置从列表中取出每个字符来获取单词“Test”。如何删除列表中没有['']部分的项目

这里是我的代码:

test1 = ["T", "E", "S", "T"] 
one = test1[0:1] 
two = test1[1:2] 
three = test1[2:3] 
four = test1[3:4] 

print(one, two, three, four) 

目前从程序我的输出是:

['T'] ['E'] ['S'] ['T'] 

虽然这并阅读“测试”它有[]围绕每一封信,我不不想要。

+0

在这['str.join(迭代器)'函数]看看(https://docs.python.org/3/library /stdtypes.html#str.join)。你可以用'''.join(test1)'完成你想要的东西。 –

+0

只需使用'''.join(test1)'加入字符。否则,*不要使用切片*。使用索引:'test1 [0]'。 –

+0

@LysandrosNikolaou:错误的方式。 –

[a:b]从索引a的每个值返回一个列表,直到索引b。 如果你只是想从列表中访问一个单一的值,你只需要指向要访问的值的索引即可。例如。

s = ['T', 'e', 's', 't'] 

print(s[0]) # T 
print(s[0:1]) # ['T'] 
+0

感谢您的帮助:) –

问题是你正在使用片段的列表而不是元素。语法l[i1,i2]返回索引i1i2之间的所有元素l的列表。如果其中一个出界,你会得到一个错误。做你意,你可以这样做:

one = test[0] 
two = test[1] 
... 
+0

感谢您的帮助:) –

你有切片索引困惑。您正在使用切片,您应该使用索引。

切片总是返回一个与给定的选择元素相同类型的新对象。总是切片名单再次给你一个列表:

>>> test1 = ["T","E","S","T"] 
>>> test1[1:3] 
['E', 'S'] 
>>> test1[:1] 
['T'] 

索引只使用(没有:冒号分隔开始和结束位置)各个位置,并为您提供从列表中的各个元素:

>>> test1[0] 
'T' 
>>> test1[1] 
'E' 

不是你需要使用索引。改为使用str.join() method;给定一个分隔符字符串,它将列表的字符串元素与中间的分隔符连接起来。使用空字符串:

>>> ''.join(test1) 
'TEST' 

试试这个

test1 = ["T","E","S","T"] 
final = "" 

for i in range(0, len(test1)): 
    final = final + str(test1[i])