从包含字母和数字的列表中,如何创建适合参数的字符串位置列表?

问题描述 投票:0回答:1

我有一个由

list(input())
创建的列表,其中包含字母和数字, 喜欢
['F', 'G', 'H', '1', '5', 'H']
我事先不知道清单的内容。

如何创建一个新列表来显示适合预定义参数的字符串位置,以便我可以收到类似

number_list = [3, 4]
letter_list = [0, 1, 2, 5]
的输出?

我认为我的答案可能涉及索引、

enumerate()
for
循环,但我不确定如何按照我想要的方式过滤列表内容。 我想要列表中字符串的位置值,这样我就可以使用
min()
max()
函数,这样最左边的字母就不会出现在最右边的数字之后。然后防止使用的第一个数字是 0。

python list
1个回答
0
投票

您可以使用简单的 for 循环与

isdigit()
:

def _collect(L):
    nums, alphas = [], []
    for i, val in enumerate(L):
        if val.isdigit():
            nums.append(i)
        else:
            alphas.append(i)
    return nums, alphas


print(_collect(['F', 'G', 'H', '1', '5', 'H']))

打印

([3, 4], [0, 1, 2, 5])


© www.soinside.com 2019 - 2024. All rights reserved.