Py学习  »  Python

Python将列表中的元素以偶发模式提取到元组中

QJ123123 • 3 年前 • 1575 次点击  

我有一个列表,它有这样的模式[浮动,字符串,浮动字符串…]但在模式中,它偶尔会变成[float,string,float,string,string,float string…]。我想做的是将列表中的元素以(float、name、NONETYPE或STRING)的格式提取到元组中,以便以后对其进行处理。下面是一个小例子:

arr = [1150.1, 'James', 3323.1, 'Steve', 9323.1, 'John', 1233.1, 'Gary', 'criminal', 3293.1, 'Josh', 9232.1, 'Daniel', 'criminal']

我想提取列表,使元组如下所示:

(1150.1, James, NONE)

(3323.1, Steve, NONE)

(9323.1, John, NONE)

(1233.1, Gary, criminal)

(3293.1, Josh, NONE)

(9232.1, Daniel, criminal)

到目前为止,我已经尝试在数组中检查该类型的下一个索引,但它不起作用:

for index in range(len(arr)):
    if type(arr[index]) == float and type(arr[index+1]) == str:
        tup = arr[index], arr[index+1], None
        print(tup)
    elif type(arr[index]) == float and type(arr[index+1]) == str and type(arr[index+2]) == str:
        tup = arr[index], arr[index + 1], arr[index+2]
        print(tup)
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/133419
 
1575 次点击  
文章 [ 4 ]  |  最新文章 3 年前