我试图通过使用其中的位置从列表中取出每个字符来获得“测试”一词。
这是我的代码:
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 :(得分:1)
[a:b]
返回一个列表,其中包含索引a
中的每个值,直到索引b
。
如果您只想从列表中访问单值,则只需指向要访问的值的索引即可。 E.g。
s = ['T', 'e', 's', 't']
print(s[0]) # T
print(s[0:1]) # ['T']
答案 1 :(得分:0)
问题是你正在使用列表的切片而不是元素。语法l[i1,i2]
返回一个列表,其中包含l
和i1
之间i2
的所有元素。如果其中一个超出范围,则会出错。要做你想做的事,你可以做:
one = test[0]
two = test[1]
...
答案 2 :(得分: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'
答案 3 :(得分:0)
试试这个
test1 = ["T","E","S","T"]
final = ""
for i in range(0, len(test1)):
final = final + str(test1[i])