我正在尝试将列表中的第一个元素[CS-PP-GE-RI-ET]
转换为:
[CS]
[CS-PP]
[CS-PP-GE]
[CS-PP-GE-RI]
[CS-PP-GE-RI-ET]
这是我目前的进展:
data = ['CS-PP-GE-RI-ET',
'CS-PP-ET-GE',
'CS-PP-ET-GE-BD',
'CS-PP-ET-GE',
'CS-PP-ET-CD-PI-GE']
word0 = []
word1 = []
for i in range(len(data)):
# print(i) # 0 1 2 3 4 ... however many elements are in data
split = data[i].split('-') # prints CS-PP-GE-RI-ET ...
# print(split) # this prints ['CS', 'PP', 'GE', 'RI', 'ET'] for each element
for j in range(len(split)-1): # you have to use range(len()-1 to iterate all the way to the end of the index count
# print(split[j]) # this prints each element CS PP GE RI ET CS PP ...
# word1.append(split[j])
temp0 = split[j]
word0.append(temp0)
temp1 = split[j + 1]
temp3 = temp0 + '-' + temp1
word0.append((temp3))
print(word0)
这是我得到的结果:
['CS', 'CS-PP', 'PP', 'PP-GE', 'GE', 'GE-RI', 'RI', 'RI-ET']
['CS', 'CS-PP', 'PP', 'PP-GE', 'GE', 'GE-RI', 'RI', 'RI-ET', 'CS', 'CS-PP', 'PP', 'PP-ET', 'ET', 'ET-GE']
...
我知道我缺乏str
和append()
的基本理解,但似乎无法弄清楚。
最终结果应该是:
[CS]
[CS-PP]
[CS-PP-GE]
[CS-PP-GE-RI]
[CS-PP-GE-RI-ET]
[CS]
[CS-PP]
[CS-PP-ET]
[CS-PP-ET-GE]
[CS]
...
感谢您的帮助。
l
是数据,那么它只会打印出原始列表。 - charlesreid1l
视为 OP @charlesreid1 给出的初始状态。 - yatuCS-PP-GE-RI-ET
。 - charlesreid1