簡體   English   中英

在列表中查找數字的第 n 位

[英]Finding nth digit of a number in a list

假設您有一些嵌套列表[[4,682,31249,81,523],[321741245,7],[349,25,5]] ,其中每個元素可以是任意長度,並且每個數字的長度也可以變化。 如何檢查每個單獨的數字從左邊的第一個數字包含什么? 以及繼續通過數字查找第 2、第 3 等數字。

為簡單起見,程序只需要一次返回一個數字,即返回4,再次調用時返回6。

預期 output:

4,6,3,8,5,3,7,3,2,5 
8,1,1,2,2,4,5 
2,2,3,1,9
x=[[4,682,31249,81,523],[321741245,7],[349,25,5]]
x=[item for sublist in x for item in sublist]
max_len=len(str(max(x)))
x=[str(y) for y in x]
def digits(x,index):
    digit_list=[]
    for num in x:
        try:
           digit_list.append(num[index])
        except:
           pass
    return digit_list
for index in range(0,max_len):
       print(digits(x,index))

解釋:

1.初始化x

2.Flat x 即將嵌套列表轉換為列表

3.計算最大數字的長度。 您也可以選擇“n”。 我把它作為最大數字的長度

4.將所有數字轉換為字符串

5.定義function位數()。 它根據名為的索引初始化一個列表 & append 個位數

6.通過循環范圍(0,max_len/n),為每個索引調用digits():0-->n

輸出

假設您使用的是 python ,請執行以下操作:

nestedArr = [[4,682,31249,81,523],[321741245,7],[349,25,5]]

for arr in nestedArr:
    firstNums = [str(x)[0] for x in arr]
    print(", ".join(firstNums))

暫無
暫無

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

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