Вопрос
У меня возник вопрос о создании Python новых переменных, полученных из других переменных. Я изо всех сил пытаюсь понять, как Python автоматически знает, как создавать переменные, даже если я не говорю об этом явно.Python автоматически генерирует переменные
ПодробностиЯ новый пользователь Python, и я следую вместе в учебники в: Joel Grus, "Data Science From Scratch".
В учебнике, я создать три списка переменных:
friends
содержит количество друзей, что кто-то имеет на данном сайте социальной сетиminutes
относится к числу минут, они проводят на сайтеlabels
- это просто алфавитная метка для каждого пользователя.
Часть учебника графически рисует метки рядом с точками, когда я создаю диаграмму рассеяния. При этом Python автоматически генерирует три новые переменные: label
, friend_count
и minute_count
.
Короче говоря - как? Как известно Python для создания этих переменных? И что они делают? Они не соответствуют среднему, медианному или режиму любого из списков.
Код
import matplotlib.pyplot as plt
from collections import Counter
def make_chart_scatter_plot(plt):
friends = [ 70, 65, 72, 63, 71, 64, 60, 64, 67]
minutes = [175, 170, 205, 120, 220, 130, 105, 145, 190]
labels = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
plt.scatter(friends, minutes)
# label each point
for label, friend_count, minute_count in zip(labels, friends, minutes):
plt.annotate(label,
xy=(friend_count, minute_count),
xytext=(5, -5), # but slightly offset
textcoords='offset points')
plt.title("Daily Minutes vs. Number of Friends")
plt.xlabel("# of friends")
plt.ylabel("daily minutes spent on the site")
plt.show()
Спасибо!
3 именам присваиваются результаты zip в цикле for –
'friend', а остальные - просто имена, которые ** мы ** предоставляем python для ссылки на объект, созданный справа. Python не делает это, мы говорим, чтобы использовать эти имена. – cdarke
https://wiki.python.org/moin/ForLoop – Jeremy