我有一个清单:
listA = ['1,2,3,4,5']
它是字符串格式。我想执行一个简单的函数来删除字符串中的最后一个数字,在这种情况下它将是5并打印出来。
我尝试了一些事情
listA = ['1,2,3,4,5']
for i in listA:
print(listA.pop())
我尝试的是错误的,因为我不熟悉在字符串上使用pop。
答案 0 :(得分:2)
你所拥有的不是整数列表。它是一个包含单个元素的列表,该元素是一个逗号分隔的整数字符串
您未使用i
您正在迭代列表并在执行此操作时对其进行变更。 不执行此操作,因为它不会为您提供您期望的行为。
我建议使用while
循环。首先,修复你的阵列。
listA = listA[0].split(',')
现在,迭代它。
while listA:
print(listA.pop())
您使用非空列表的真值来继续迭代它。这将删除所有数字。但是,如果您只想要最后一位数字,只需拨打listA.pop()
一次。
如果您不想修复数组,则应提取最后一位数字:
listA = ['1,2,3,4,5']
print(int(listA[0][-1])) # [0] gets the string, [-1] gets the last character in the string
这是笨拙的,所以我建议修改你的阵列。
答案 1 :(得分:1)
上一个答案是给你最后一个字符。您还可以使用拆分提取最后一个值,该值将根据定义的分隔符分解文本:
listA = ['1,2,3,4,5']
print( listA[0].split(',')[-1] )