在列表中查找数字的第 n 个数字
Finding nth digit of a number in a list
假设你有一些嵌套列表
[[4,682,31249,81,523],[321741245,7],[349,25,5]]
其中每个元素可以是任意长度,每个数字的长度也可以变化。如何检查每个数字的左边第一个数字包含的内容?以及继续通过数字找到第 2、3 等数字。
为简单起见,程序只需要一次 return 一个数字,即 returns 4,然后再次调用时为 6。
预期输出:
4,6,3,8,5,3,7,3,2,5
8,1,1,2,2,4,5
2,2,3,1,9
假设您使用的是 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))
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.Intialize x
2.Flat x 即将嵌套列表转换为列表
3.Calculate最大数的长度。您也可以选择 'n'。我把它作为最大数字的长度
4.Convert 所有数字都是字符串
5.define 函数数字 ()。它初始化一个列表并根据名为
的索引附加单个数字
6.By 遍历范围(0,max_len/n),为每个 index:0-->n
调用 digits()
假设你有一些嵌套列表
[[4,682,31249,81,523],[321741245,7],[349,25,5]]
其中每个元素可以是任意长度,每个数字的长度也可以变化。如何检查每个数字的左边第一个数字包含的内容?以及继续通过数字找到第 2、3 等数字。
为简单起见,程序只需要一次 return 一个数字,即 returns 4,然后再次调用时为 6。
预期输出:
4,6,3,8,5,3,7,3,2,5
8,1,1,2,2,4,5
2,2,3,1,9
假设您使用的是 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))
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.Intialize x
2.Flat x 即将嵌套列表转换为列表
3.Calculate最大数的长度。您也可以选择 'n'。我把它作为最大数字的长度
4.Convert 所有数字都是字符串
5.define 函数数字 ()。它初始化一个列表并根据名为
的索引附加单个数字6.By 遍历范围(0,max_len/n),为每个 index:0-->n
调用 digits()