• Register

pip.get_installed_distributions()

+2 votes
65 views

Zanima me, kako oz. zakaj lahko kličemo elemente iz seznama, ki ga ustvarimo z ukazom pip.get_installed_distributions() po ključih (i.key) in verzijah (i.version) ? 

Primer iz predavanj:

import pip
instalirani = sorted(['{i.key}: {i.version}'.format(i=i) for i in pip.get_installed_distributions()])

instalirani[:3]

['alabaster: 0.7.9', 'anaconda-client: 1.6.2', 'anaconda-navigator: 1.4.3']
asked Feb 24, 2017 by kobalac (3,400 points)

1 Answer

+3 votes
 
Best answer

Elementi seznama, ki ga dobimo s pip.get_installed_distributions()in nosijo informacije o naših nameščenih paketih, niso običajni nizi, ampak objekti tipa Distribution. Ti imajo med drugim artibuta ("lastnosti") Distribution.key in Distribution.version. 

V primeru iz predavanj z uporabo izpeljevanja seznamov vsak element seznama (paket - objekt tipa Distribution) začasno "shranimo" v spremenljivko i, njegova atributa i.key in i.version zapišemo v niz in tega shranimo v seznam, ki ga še uredimo po abecednem vrstnem redu s funkcijo sorted.

Če si želite zgornji primer podrobneje razjasniti si lahko pomagate s predlogo k predavanju 4, v katerem se boste učili o objektnem programiranju. Ne škodi tudi, če si osvežite spomin glede izpeljevanja seznamov =)

answered Feb 24, 2017 by dgorjup (61,050 points)
selected Feb 24, 2017 by janko.slavic
...