簡體   English   中英

如何找到列表元素之間的直接鏈接?

[英]How to find the direct link between the list elements?

我有一個元素之間可能的連接列表,例如:

J&K - Punjab
J&K - Himachal Pradesh
Himachal Pradesh - Punjab
Himachal Pradesh - Haryana
Himachal Pradesh - Uttranchal
Punjab - Haryana
Punjab - Rajasthan
Punjab - UP
Haryana - Uttranchal
Haryana - Delhi
Haryana - Rajasthan
Haryana - Chhattisgarh
Haryana - Gujrat
Uttranchal - UP
Rajasthan - Gujrat
Rajasthan - Madhya Pradesh
Rajasthan - UP
Rajasthan - Delhi
UP - Delhi
UP - Madhya Pradesh
UP - West Bengal
UP - Bihar
UP - Assam
Chhattisgarh - Madhya Pradesh
Chhattisgarh - Maharashtra
Chhattisgarh - Tamil Nadu
Chhattisgarh - Orissa
Chhattisgarh - Jharkhand
Gujrat - Madhya Pradesh
Gujrat - Maharashtra
Madhya Pradesh - Maharashtra
West Bengal - Assam
West Bengal - Sikkim
West Bengal - Bihar
West Bengal - Jharkhand
West Bengal - Orissa
Bihar - Sikkim
Bihar - Jharkhan
Assam - Arunachal Pradesh
Assam - Nagaland
Assam - Manipur
Assam - Mizoram
Assam - Tripura
Assam - Meghalaya
Jharkhan - Orissa
Maharashtra - Goa
Maharashtra - Karnataka
Maharashtra - Telangana
Orissa - Karnataka 
Orissa - Andhra Pradesh
Goa - Karnataka
Karnataka - Telangana
Karnataka - Tamil Nadu
Karnataka - Kerala
Telangana - Andhra Pradesh
Tamil Nadu - Kerala
Tamil Nadu - Andhra Pradesh

所以我想找到州之間的直接聯系。 例如,如果我說我想找到Rajasthan可能的鏈接,那么它應該給我們所有可能的直接鏈接的 output,如下所示:

Rajasthan - Gujrat
Rajasthan - Madhya Pradesh
Rajasthan - UP
Rajasthan - Delhi
Haryana - Rajasthan
Punjab - Rajasthan

我想不出一個可能的邏輯,有人可以幫忙嗎?

這基本上是@Cristian 在評論中已經說過的,但你可以這樣做:

from collections import defaultdict
# all_text is the text containing the plain string of the list you wrote above, with each line separated by \n
all_text = np.array(all_text.split('\n'))

connection = defaultdict(list)
for entry in all_text:
    entry = entry.split(' - ')
    connection[entry[0]].append(entry[1])
    connection[entry[1]].append(entry[0])

print(connection['Rajasthan'])

這將返回['Punjab', 'Haryana', 'Gujrat', 'Madhya Pradesh', 'UP', 'Delhi']

你可以像這樣做一個簡單的 for 循環:

connections_list = [
    'J&K - Punjab',
    'J&K - Himachal Pradesh']

for x in connections_list:
    _temp = x.split("-")
    for y in connections_list:
        if _temp[0] in y:
            print(y)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM