Создайте функцию для расчета расстояния с помощью python - PullRequest
0 голосов
/ 05 августа 2020

Я хочу создать функцию, которая вычисляет расстояние между двумя последовательными элементами в списке первых последователей на основе списка последователей. Если элемент находится в первом follower_list, расстояние будет 1 но. В противном случае функции необходимо просмотреть следующий список, если элемент находится в списке, расстояние будет равно 2, иначе «Между ними нет расстояния». Это то, что я пробовал до сих пор:

early_adopter = ["1","2","3","4"]
follower_list = ["1","c","e","d"]
s2_follower_list = ["b","2","c","d","3"]


def distance(user1, user2):
  path = 0
  for user1 in early_adopter: 
    if user2 in follower_list:
      path =+ 1
    elif user2 in s2_follower_list: 
      path =+ 2 
    else:
      return 'There is no distance between them'


dist = [distance(early_adopter[i], early_adopter[i+1]) for i in range(len(early_adopter)-1)]
dist

Я хочу сделать что-то подобное с подключениями реальных пользователей.

Спасибо !!

Ответы [ 2 ]

0 голосов
/ 06 августа 2020
def distance(user1, user2):
  path = []
  if user2 in follower_list:
    path.append(user2)
    return len(path)  
  elif user2 in s2_follower_list: 
    path.append(user2)
    return 1+len(path)
  else:
    return 'There is not distance between them'


dist = [distance(early_adopter[i], early_adopter[i+1]) for i in range(len(early_adopter)-1)]
dist

Я нашел ответ с помощью этого кода, дайте мне знать, если у вас есть дальнейшие предложения по переписыванию кода.

0 голосов
/ 05 августа 2020

Следующее должно работать:

early_adopter = ["1","2","3","4"]
follower_list = ["1","c","e","d"]
s2_follower_list = ["b","2","c","d","3"]


def distance(user1, user2):
  path = 0 
  if user2 in follower_list:
    path += 1
    return path
  elif user2 in s2_follower_list: 
    path += 2
    return path 
  else:
    return 'There is no distance between them'


dist = [distance(early_adopter[i], early_adopter[i+1]) for i in range(len(early_adopter)-1)]
dist
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...