我在Visual Studio上研究Python 3项目。用户输入数字01102003060d8090a305
然后我将数字分开:['01', '10', '20', '03', '06', '0d', '80', '90', 'a3', '05']
,并使用以下代码获取列表的fourd元素:
dynamic_array = [ ]
hexdec = input("Enter even number ");
strArray = [hexdec[idx:idx+2] for idx in range(len(hexdec)) if idx%2 == 0]
dynamic_array = strArray
print(dynamic_array)
print(dynamic_array[3])
因此,我想将03
的第三个元素作为一个整数,并在以连续形式显示数组的第六个元素之后,三个元素看起来像:03 80 90 a3
如果整数发生变化,它仍将排在第六个元素之后,但仅显示元素个数包括整数,例如02 80 90
反正有做吗?
答案 0 :(得分:0)
您可以使用isdigit()来验证数组中是否包含数字或字母:
dynamic_array = [ ]
hexdec = input("Enter even number ");
strArray = [hexdec[idx:idx+2] for idx in range(len(hexdec)) if idx%2 == 0]
dynamic_array = strArray
if dynamic_array[3].isdigit():
endValue = dynamic_array[3]
print dynamic_array[3]
for i in range(6,6+int(endValue)):
print dynamic_array[i]
答案 1 :(得分:0)
您可以对dynamic_array
列表进行切片,并使用常规拆包来形成新列表:
n = dynamic_array[3]
print([n, *dynamic_array[6 : 6 + int(n)]])
答案 2 :(得分:0)
num = dynamic_array[3]
integer_array = [num]
for i in dynamic_array[6:]:
if i.isdigit():
integer_array.append(i)
print(' '.join(integer_array[:int(num) + 1]))