簡體   English   中英

如何找出 python 列表中的下一個字符

[英]how to find out the next character in a list in python

我正在制作一個計算器,每次單擊一個按鈕時,一個數字都會附加到列表中。 我想找出列表中一個字符之后的下一個字符的類型,以檢查它是否是兩位數。 我試過這個,但它似乎沒有用。 這是代碼:

def compound_calculation(calculation):
    for num in calculation:
        if type(calculation.index(num) + 1) == int:
            print("double digit number")
label1_list = [1, 2, 3, "+", 4, 5]

你可以這樣嘗試:

def compound_calculation(calculation):
    for i in range(len(calculation)-1):
        if isinstance(calculation[i+1],int):
            print('double digit number')

您應該使用isinstance(var, type)

另一種方法

a = ['a', 1, '2', 3, 4, '5']
filter(
  lambda x: isinstance(x[0], int) and isinstance(x[1], int), 
  zip(a, a[1:]))

它將返回[(3,4)]

一步步:

  • 將原始列表偏移 1:
a = ['a', 1, '2', 3, 4, '5']
b = a[1:] # [1, '2', 3, 4, '5']
  • Zip 將兩個列表轉換為元組對(當前項和下一項)。 在這個例子中我們想要的唯一一對是(3, 4) (兩個連續的數字):
zip(a, b) # [('a', 1), (1, '2'), ('2', 3), (3, 4), (4, '5')]
  • 迭代所有項目並檢查元組中的兩個項目(x[0],項目和 x[1],下一個項目)是否都是int s 並過濾掉那些不是
filter(
  lambda x: isinstance(x[0], int) and isinstance(x[1], int), 
  zip(a, a[1:]))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM