[英]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.