如何删除列表中没有['']部分的项目
我想通过使用列表中的位置从列表中取出每个字符来获取单词“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']
虽然这并阅读“测试”它有[]围绕每一封信,我不不想要。
[a:b]
从索引a
的每个值返回一个列表,直到索引b
。 如果你只是想从列表中访问一个单一的值,你只需要指向要访问的值的索引即可。例如。
s = ['T', 'e', 's', 't']
print(s[0]) # T
print(s[0:1]) # ['T']
感谢您的帮助:) –
问题是你正在使用片段的列表而不是元素。语法l[i1,i2]
返回索引i1
和i2
之间的所有元素l
的列表。如果其中一个出界,你会得到一个错误。做你意,你可以这样做:
one = test[0]
two = test[1]
...
感谢您的帮助:) –
你有切片和索引困惑。您正在使用切片,您应该使用索引。
切片总是返回一个与给定的选择元素相同类型的新对象。总是切片名单再次给你一个列表:
>>> 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])
在这['str.join(迭代器)'函数]看看(https://docs.python.org/3/library /stdtypes.html#str.join)。你可以用'''.join(test1)'完成你想要的东西。 –
只需使用'''.join(test1)'加入字符。否则,*不要使用切片*。使用索引:'test1 [0]'。 –
@LysandrosNikolaou:错误的方式。 –