从Python数组中获取特殊元素

时间:2018-10-10 11:48:23

标签: python python-3.x

我在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 反正有做吗?

3 个答案:

答案 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]))