SORU
15 EKİM 2012, PAZARTESİ


Python ile bir listeden benzersiz değer elde

Aşağıdaki listede benzersiz değerleri almak istiyorum

[u'nowplaying'][u'PBS'][u'PBS'][u'nowplaying'][u'job'][u'debate'][u'thenandnow']

İhtiyacım olan çıktı

[u'nowplaying'][u'PBS'][u'job'][u'debate'][u'thenandnow']

Aşağıdaki kodu denedim:

for x in trends:
    if x not in output:
        output.append(x)
        print output

ama işe yaramadı. Herhangi bir yardım mutluluk duyacağız.

CEVAP
15 EKİM 2012, PAZARTESİ


İlk düzgün, virgülle ayrılmış listesi ilan Bir liste dönüştürerek farklı değerleri alabilirsiniz

mylist = [u'nowplaying', u'PBS', u'PBS', u'nowplaying', u'job', u'debate', u'thenandnow']
myset = set(mylist)
print myset

Eğer bir liste daha fazla kullanırsanız, o liste geri yaparak dönüştürmek gerekir

mynewlist = list(myset)

Başka bir ihtimal, muhtemelen daha hızlı bir liste yerine, başından itibaren bir dizi kullanmak olacaktır. Sonra kodunuzu olmalıdır

  output = set()
  for x in trends:
       output.add(x)
  print output

Belirttiği gibi, setler orijinal düzeni korumak. Eğer ihtiyacınız varsa, ordered set hakkında araştırma yapmanız gerekir

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ELPRESADOR

    ELPRESADOR

    21 HAZİRAN 2008
  • Keith Anthe

    Keith Anthe

    26 NİSAN 2011
  • Matthew Pearce

    Matthew Pear

    9 AĞUSTOS 2009