我有一个这样的列表:
myList = [[1, 'A1', 100, '1001', '1', '1001', 'None'],
[2, 'B1', 101, '3008', '2', '3008', 'bb'],
[3, 'C1', 102, '607', '3', '607', 'None']]
我要替换每个子列表中的最后一个元素。
如果每个子列表中的最后一个元素为'None',则将'None'替换为''。
列表应如下所示:
myList = [[1, 'A1', 100, '1001', '1', '1001', ' '],
[2, 'B1', 101, '3008', '2', '3008', 'bb'],
[3, 'C1', 102, '607', '3', '607', ' ']]
答案 0 :(得分:4)
使用负索引。
例如:
myList = [[1, 'A1', 100, '1001', '1', '1001', 'None'],
[2, 'B1', 101, '3008', '2', '3008', 'bb'],
[3, 'C1', 102, '607', '3', '607', 'None']]
myList = [i[:-1] + [""] if i[-1] == 'None' else i for i in myList ]
print(myList)
输出:
[[1, 'A1', 100, '1001', '1', '1001', ''],
[2, 'B1', 101, '3008', '2', '3008', 'bb'],
[3, 'C1', 102, '607', '3', '607', '']]
答案 1 :(得分:1)
使用否定索引:
for subList in myList:
if subList[-1] == 'None':
subList[-1] = ' '
myList
# [[1, 'A1', 100, '1001', '1', '1001', ' '],
# [2, 'B1', 101, '3008', '2', '3008', 'bb'],
# [3, 'C1', 102, '607', '3', '607', ' ']]
答案 2 :(得分:0)
myList = [[1, 'A1', 100, '1001', '1', '1001', 'None'],[2, 'B1', 101, '3008', '2', '3008', 'bb'],[3, 'C1', 102, '607', '3', '607', 'None']]
for i in range(len(myList)):
print(i)
print(type(myList[i][len(myList[i])-1]))
if(myList[i][len(myList[i])-1]== 'None'):
myList[i][len(myList[i])-1]=' '
print(myList)