在包含字符串的列表上使用pop

时间:2017-07-27 10:25:36

标签: python

我有一个清单:

listA = ['1,2,3,4,5']

它是字符串格式。我想执行一个简单的函数来删除字符串中的最后一个数字,在这种情况下它将是5并打印出来。

我尝试了一些事情

listA = ['1,2,3,4,5']
for i in listA:
    print(listA.pop())

我尝试的是错误的,因为我不熟悉在字符串上使用pop。

2 个答案:

答案 0 :(得分:2)

  1. 你所拥有的不是整数列表。它是一个包含单个元素的列表,该元素是一个逗号分隔的整数字符串

  2. 您未使用i

  3. 您正在迭代列表并在执行此操作时对其进行变更。 执行此操作,因为它不会为您提供您期望的行为。

  4. 我建议使用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] )