Python String Manipulation - 在许多字符串中查找唯一的数字

时间:2017-02-27 17:31:49

标签: python string variables unique

我正在遍历表单的变量 - V15_1_1。此字符串中的中间和最后一个数字随每个变量而变化。我想创建一个包含所有唯一中间数字的字符串。 例如,我可能有V15_1_1,V15_2_3,V15_2_6,V15_12_17,V15_12_3,这将返回文本字符串'1,2,12'

4 个答案:

答案 0 :(得分:0)

将每个字符串拆分为您想要的数字,例如通过拆分_字符并从每个子字符串中删除任何非数字字符。然后按从左到右的顺序排列它们,并将它们中的每一个添加到左侧,中间和右侧数字的三组中的一组中。集合只能有一次相同的条目。然后,您可以打印集的内容以获得所需的内容。如果需要,可以先排序。我所描述的所有这些事情都可以单独用谷歌搜索。

答案 1 :(得分:0)

你走了:

my_list = ['V15_1_1', 'V15_2_3', 'V15_2_6', 'V15_12_17','V15_12_3']

def unique_middle_values(input_list):
    return set([i.split('_')[1] for i in input_list])

unique_middle_values(my_list)
{'1', '12', '2'}

答案 2 :(得分:0)

您可以使用set()

first_set = set()
second_set = set()
for item in list:
    v, num1, num2 = item.split('_')
    first_set.add(num1)
    second_set.add(num2)
print ', '.join(s for e in first_set)
print ', '.join(s for e in second_set)

答案 3 :(得分:0)

这可能会有所帮助

>>> def fun(var):
    l = []
    for a in var:
        middle = a.split('_')[1]
        if middle not in l:
            l.append(middle)
    return ','.join(l)

>>> fun(['V15_1_1', 'V15_2_3', 'V15_2_6', 'V15_12_17', 'V15_12_3'])
'1,2,12'