我將如何創建一個函式來為我正在尋找的提供的字串邏輯的每個元素只挑出一個特定的字符:
前任。在元素串列中,例如:
countries_and_capitals = (
['Afghanistan', 'Kabul'], ['Albania', 'Tirana (Tirane)'], ['Algeria', 'Algiers'], ['Andorra', 'Andorra la Vella'],
['Angola', 'Luanda'], ['Antigua and Barbuda', "Saint John's"], ['Argentina', 'Buenos Aires'],
['Armenia', 'Yerevan'])
我如何創建一個邏輯來僅顯示具有相同首字母的元素,例如 Capital 和 Country ex。阿爾及利亞,阿爾及爾。
uj5u.com熱心網友回復:
如果只使用First字母來確定匹配,它可能也會loose選擇更多作為結果。例如:小號OUTH韓國-小號eoul; 或B elgium 到B russels。不確定這是可取的嗎?即使它滿足最初的要求。
因此,為了使此功能更具適應性 - 這只是將matching標準設為一個字符作為默認值,但如果以后需要,可以更改以選擇更多字符。
def find_same_name(lst, matching=1):
'''
find all matching capitals with Coutries, minimum matching is One char.
'''
# list comprehension
return [sub for sub in lst
if sub[0][:matching] == sub[1][:matching]] # can determine matched req.
運行它:
print(find_same_name(countries_and_capitals))
輸出:
[['Algeria', 'Algiers'], ['Andorra', 'Andorra la Vella']]
uj5u.com熱心網友回復:
嘗試這個:
new_list = []
for sublist in countries_and_capitals:
if sublist[0][0] == sublist[1][0]:
new_list.append(sublist)
你會得到:
new_list
[['Algeria', 'Algiers'], ['Andorra', 'Andorra la Vella']]
uj5u.com熱心網友回復:
您可以使用[]方括號索引字串中的第一個字符
string = "ABC"
print(string[0]) # Will print first character in the string
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/328987.html
上一篇:如何修復代碼中的輸出問題?
