2016-12-29 72 views
-3

在Python中,如何檢查兩個列表是否包含相同的項目,並返回這些項目的列表,或者在匹配時返回True?如何檢查Python 3中兩個不同列表中的類似項目?

考慮:

list1=[1,2,3,4,5] 
list2=[2,4,6,8] 

我怎樣才能返回:

list3=[2,4] 

或使用檢查,如果這是真的,如:

if MATCHES EXIST: 
    DO SOMETHING 

此外,我將如何串聯項目一個列表成一個單一的序列或字符串?

考慮:

list1=[1,2,3,4,5] 

我怎樣才能返回:

list2=[12345] 
+1

看起來你希望我們爲你寫一些代碼。儘管許多用戶願意爲遇險的編碼人員編寫代碼,但他們通常只在海報已嘗試自行解決問題時才提供幫助。展示這一努力的一個好方法是包含迄今爲止編寫的代碼,示例輸入(如果有的話),期望的輸出以及實際獲得的輸出(輸出,回溯等)。您提供的細節越多,您可能會收到的答案就越多。檢查[FAQ](http://stackoverflow.com/tour)和[如何提問](http://stackoverflow.com/questions/how-to-ask)。 – TigerhawkT3

+0

你到目前爲止嘗試過什麼?爲了幫助我們來幫助你,請添加 [最小的,完整的和可驗證的示例](https://stackoverflow.com/help/mcve) – abpatil

+0

NO,請不要這麼想我試圖檢查數量用戶在我的列表中輸入 –

回答

1

在Python中,你可以從兩個不同的使用列表中set類似的項目。這會給你兩個不同列表中相同的值。

>>> a=[1,2,3] 
>>> b=[2,3,4] 
>>> set(a) & set(b) 
{2, 3} 
>>> 

爲了得到這個輸出列表格式,只需鍵入如下

>>> list(set(a) & set(b)) 
    [2, 3] 

可以使用list("123")命令

>>> a="123" 
>>> list(a) 
['1', '2', '3'] 
>>> 
+0

感謝您的幫助,如果我想去做什麼用期運用IF和ELSE像列表1 = [6,7,8,9,10]列表2 = [1,2,3,4, 5]比如x = INT獲取用戶輸入(輸入(「請輸入您的年齡:」))相比,數量用戶在我的列表1打印輸入(「你比我年長」) –

+0

@喬恩 - 耶爾馬茲這是不完全清楚你在這裏發表的評論,儘管這似乎是一個全新的問題。在StackOverflow中,您應該始終獨立發佈每個問題作爲一個新問題,因此未來人們可以只搜索該問題。隨着中說,你在尋找類似下面的列表1?:= [10,11,15,17,20,37] user_age = INT(輸入(「輸入您的年齡:」)) 如果user_age列表1中: \t打印(「至少有一人這個年齡段。」) 其他: \t list1.append(user_age) \t打印(「你是這個時代的第一人!」) –

0

你的第一個問題做一個字符串值列表@ k-suthagar很好地回答了我的問題,所以我會順從他。雖然這裏的略有不同的方法,表現良好,返回一個新的列表:如果你只是想檢查是否有任何匹配

list1=[1,2,3,4,5] 
list2=[4,2,3,9,9] 
list3 = list(set(list1).intersection(set(list2))) 

,你可以這樣做:

if set(list1).intersection(set(list2)): 
    print("These lists contain some identical elements.") 
else: 
    print("These lists do NOT contain identical elements.") 

至於你第二個問題,您可以執行以下操作:如果您想加入的字符串,或者得到的結果是一個字符串

list1=[1,2,3,4,5] 
list2 = [ int(''.join(str(x) for x in list1)) ] 
print(list2) 

[12345] 

,簡單地丟棄INT COER接穗:

list1=[1,2,3,4,5] 
list2 = [ ''.join(str(x) for x in list1) ] 
print(list2) 

注:這是在計算器上一般好的做法要問每一個崗位的問題,並且向我們展示你已經嘗試了什麼。

+0

謝謝你這一個爲我的鱈魚工作 –