2017-02-27 65 views
1

我正在循環表單的變量 - V15_1_1。該字符串中的中間和最後一個數字會隨着每個變量而變化。我想創建一個所有唯一中間數字的字符串。 例如,我可能有V15_1_1,V15_2_3,V15_2_6,V15_12_17,V15_12_3這將返回一個文本字符串'1,2,12'Python字符串操作 - 在許多字符串中查找唯一的數字

+0

是否爲了此事? –

+0

所以你試圖做什麼來解決這個問題呢? – depperm

+0

順序無關緊要 – PTrem1

回答

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'} 
0

將每個字符串拆分爲所需的數字,例如通過_字符並從每個子字符串中刪除任何非數字字符。然後,您從左到右依次排列它們,並將它們分別添加到三組中的左,中,右數字中的一組。集合只能有一次相同的條目。然後您可以打印這些設置的內容以獲得您想要的內容。如果需要,可以先排序。我所描述的所有這些東西都可以單獨搜索。

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) 
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'