🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.python
18 messages
18 total messages Started by zigi Wed, 05 May 2010 07:41
dynamiczna lista i krotka
#27443
Author: zigi
Date: Wed, 05 May 2010 07:41
10 lines
1775 bytes
Witam
mam prosty problem ale jakoś nie mogę przebrnąć przez niego otóż,
posiadam dynamiczną liste np:
a = [1,2,3,4,5] lista może być różnej wielkości problem polega na tym
iż w zależnoći od ilości elementów w liście muszę stworzyć krotkę o
takiej samej długości z zawartością b = (0,0,0,0,0). Jakoś niemogę
wymyśleć skutecznego sposobu aby to rozwiązać.
Czy może ktoś wpadnie na jakiś pomysł ?
Dziękuję
Pozdrawiam.
Re: dynamiczna lista i krotka
#27445
Author: Stachu 'Dozzie' K.
Date: Wed, 05 May 2010 07:48
15 lines
1717 bytes
On 2010-05-05, zigi <cezar4846@gmail.com> wrote:
> Witam
> mam prosty problem ale jakoś nie mogę przebrnąć przez niego otóż,
> posiadam dynamiczną liste np:
> a = [1,2,3,4,5] lista może być różnej wielkości problem polega na tym
> iż w zależnoći od ilości elementów w liście muszę stworzyć krotkę o
> takiej samej długości z zawartością b = (0,0,0,0,0). Jakoś niemogę
> wymyśleć skutecznego sposobu aby to rozwiązać.
> Czy może ktoś wpadnie na jakiś pomysł ?

pydoc tuple

-- 
Secunia non olet.
Stanislaw Klekot
Re: dynamiczna lista i krotka
#27446
Author: królewna
Date: Wed, 05 May 2010 07:56
13 lines
1316 bytes
W dniu 05.05.2010 09:48, Stachu 'Dozzie' K. pisze:

>> a = [1,2,3,4,5] lista może być różnej wielkości problem polega na tym
>> iż w zależnoći od ilości elementów w liście muszę stworzyć krotkę o
>> takiej samej długości z zawartością b = (0,0,0,0,0). Jakoś niemogę

Najprościej:

b = ()
for i in range(0, len(a)):
	b = b + (0,)

tylko nie wiem, czy najlepiej :)
Re: dynamiczna lista i krotka
#27459
Author: Wojciech Muła
Date: Wed, 05 May 2010 07:59
11 lines
1372 bytes
zigi <cezar4846@gmail.com> wrote:

> mam prosty problem ale jakoś nie mogę przebrnąć przez niego otóż,
> posiadam dynamiczną liste np:
> a = [1,2,3,4,5] lista może być różnej wielkości problem polega na tym
> iż w zależnoći od ilości elementów w liście muszę stworzyć krotkę o
> takiej samej długości z zawartością b = (0,0,0,0,0). Jakoś niemogę
> wymyśleć skutecznego sposobu aby to rozwiązać.
> Czy może ktoś wpadnie na jakiś pomysł ?

b = (0,) * len(a)
Re: dynamiczna lista i krotka
#27447
Author: i0cus
Date: Wed, 05 May 2010 08:01
25 lines
1898 bytes
On 5 Maj, 09:56, krĂłlewna <króle...@ee.pl> wrote:
> W dniu 05.05.2010 09:48, Stachu 'Dozzie' K. pisze:
>
> >> a = [1,2,3,4,5] lista może być różnej wielkości problem polega na tym
> >> iż w zależnoći od ilości elementów w liście muszę stworzyć krotkę o
> >> takiej samej długości z zawartością b = (0,0,0,0,0). Jakoś niemogę
>
> Najprościej:
>
> b = ()
> for i in range(0, len(a)):
>         b = b + (0,)
>
> tylko nie wiem, czy najlepiej :)

Raczej polecałbym:

tuple(0 for i in a)

Mniej szamotania się. ;-)


--
pozdrawiam,
SMG.
Re: dynamiczna lista i krotka
#27444
Author: forgems
Date: Wed, 05 May 2010 08:17
13 lines
1901 bytes
On May 5, 9:41 am, zigi <cezar4...@gmail.com> wrote:
> Witam
> mam prosty problem ale jakoś nie mogę przebrnąć przez niego otóż,
> posiadam dynamiczną liste np:
> a = [1,2,3,4,5] lista może być różnej wielkości problem polega na tym
> iż w zależnoći od ilości elementów w liście muszę stworzyć krotkę o
> takiej samej długości z zawartością b = (0,0,0,0,0). Jakoś niemogę
> wymyśleć skutecznego sposobu aby to rozwiązać.
> Czy może ktoś wpadnie na jakiś pomysł ?
> Dziękuję
> Pozdrawiam.

(0,) * len(a)
Re: dynamiczna lista i krotka
#27460
Author: zigi
Date: Wed, 05 May 2010 10:27
15 lines
1993 bytes
On 5 Maj, 09:59, Wojciech Muła
<wojciech_m...@poczta.null.onet.pl.invalid> wrote:
> zigi <cezar4...@gmail.com> wrote:
> > mam prosty problem ale jakoś nie mogę przebrnąć przez niego otóż,
> > posiadam dynamiczną liste np:
> > a = [1,2,3,4,5] lista może być różnej wielkości problem polega na tym
> > iż w zależnoći od ilości elementów w liście muszę stworzyć krotkę o
> > takiej samej długości z zawartością b = (0,0,0,0,0). Jakoś niemogę
> > wymyśleć skutecznego sposobu aby to rozwiązać.
> > Czy może ktoś wpadnie na jakiś pomysł ?
>
> b = (0,) * len(a)

Super
Dzięki Panowie
Re: dynamiczna lista i krotka
#27448
Author: Adam Przybyla
Date: Wed, 05 May 2010 16:52
25 lines
1681 bytes
i0cus <slawomir.gwizdowski@gmail.com> wrote:
> On 5 Maj, 09:56, krĂłlewna <króle...@ee.pl> wrote:
>> W dniu 05.05.2010 09:48, Stachu 'Dozzie' K. pisze:
>>
>> >> a = [1,2,3,4,5] lista może być różnej wielkości problem polega na tym
>> >> iż w zależnoći od ilości elementów w liście muszę stworzyć krotkę o
>> >> takiej samej długości z zawartością b = (0,0,0,0,0). Jakoś niemogę
>>
>> Najprościej:
>>
>> b = ()
>> for i in range(0, len(a)):
>>         b = b + (0,)
>>
>> tylko nie wiem, czy najlepiej :)
> 
> Raczej polecałbym:
> 
> tuple(0 for i in a)
> 
> Mniej szamotania się. ;-)
	.. moze tak:
(0,)*len(a)
Z powazaniem
								Adam Przybyla
Re: dynamiczna lista i krotka
#27449
Author: i0cus
Date: Thu, 06 May 2010 13:18
31 lines
2381 bytes
On 5 Maj, 18:52, Adam Przybyla <a...@rybnik.pl> wrote:
> i0cus <slawomir.gwizdow...@gmail.com> wrote:
> > On 5 Maj, 09:56, krĂłlewna <króle...@ee.pl> wrote:
> >> W dniu 05.05.2010 09:48, Stachu 'Dozzie' K. pisze:
>
> >> >> a = [1,2,3,4,5] lista może być różnej wielkości problem polega na tym
> >> >> iż w zależnoći od ilości elementów w liście muszę stworzyć krotkę o
> >> >> takiej samej długości z zawartością b = (0,0,0,0,0). Jakoś niemogę
>
> >> Najprościej:
>
> >> b = ()
> >> for i in range(0, len(a)):
> >>         b = b + (0,)
>
> >> tylko nie wiem, czy najlepiej :)
>
> > Raczej polecałbym:
>
> > tuple(0 for i in a)
>
> > Mniej szamotania się. ;-)
>
>         .. moze tak:
> (0,)*len(a)

Nie jestem fanem wiszącego przecinka w tej konstrukcji. ;-)

--
pozdrawiam,
SMG.
Re: dynamiczna lista i krotka
#27450
Author: Stachu 'Dozzie' K.
Date: Thu, 06 May 2010 13:21
13 lines
1788 bytes
On 2010-05-06, i0cus <slawomir.gwizdowski@gmail.com> wrote:
>>         .. moze tak:
>> (0,)*len(a)
>
> Nie jestem fanem wiszącego przecinka w tej konstrukcji. ;-)

To spróbuj, mądralo, bez niego. To nawet ja, programista Perla(!), wiem
że krotki nie zbudujesz w Pythonie z jednego elementu na samych
nawiasach bez przecinka.

-- 
Secunia non olet.
Stanislaw Klekot
Re: dynamiczna lista i krotka
#27451
Author: Artur M. Piwko
Date: Thu, 06 May 2010 18:20
21 lines
1732 bytes
In the darkest hour on Thu, 6 May 2010 13:21:17 +0000 (UTC),
Stachu 'Dozzie' K. <dozzie@go.eat.some.screws.spammer.invalid> screamed:
>>> (0,)*len(a)
>>
>> Nie jestem fanem wiszącego przecinka w tej konstrukcji. ;-)
>
> To spróbuj, mądralo, bez niego. To nawet ja, programista Perla(!), wiem
> że krotki nie zbudujesz w Pythonie z jednego elementu na samych
> nawiasach bez przecinka.
>

tuple([0]) * 100
tuple([0] * 100)

MSPANC ;)

-- 
[ Artur M. Piwko : Pipen : AMP29-RIPE : RLU:100918 : From == Trap! : SIG:217B ]
[ 20:19:13 user up 12429 days,  8:14,  1 user, load average: 0.81, 0.18, 0.12 ]

                        What could have happened....did.
Re: dynamiczna lista i krotka
#27452
Author: i0cus
Date: Fri, 07 May 2010 08:25
25 lines
2412 bytes
On 6 Maj, 15:21, "Stachu 'Dozzie' K."
<doz...@go.eat.some.screws.spammer.invalid> wrote:
> On 2010-05-06, i0cus <slawomir.gwizdow...@gmail.com> wrote:
>
> >>         .. moze tak:
> >> (0,)*len(a)
>
> > Nie jestem fanem wiszącego przecinka w tej konstrukcji. ;-)
>
> To spróbuj, mądralo, bez niego. To nawet ja, programista Perla(!), wiem
> że krotki nie zbudujesz w Pythonie z jednego elementu na samych
> nawiasach bez przecinka.

Czy ja gdzieś napisałem, że kod jest niepoprawny? Dzięki, Pythona
zacząłem używać w połowie cyklu życia 2.2, więc wierz mi, że wiem jak
się robi 1-krotkę w tym języku. I nadal nie lubię tej notacji, bo
wbrew pozorom nie jest oczywista na pierwszy rzut oka.

Zabawne, że wyrażenie opinii na temat czytelności kodu w Pythonie na
grupie pl.comp.lang.python zostaje podjęte przez programistę Perla(!),
który w odpowiedzi mnie wyzywa. Nie ta grupa może? :)

--
mimo wszystko pozdrawiam,
SMG
Re: dynamiczna lista i krotka
#27453
Author: Stachu 'Dozzie' K.
Date: Fri, 07 May 2010 08:31
44 lines
2970 bytes
On 2010-05-07, i0cus <slawomir.gwizdowski@gmail.com> wrote:
> On 6 Maj, 15:21, "Stachu 'Dozzie' K."
><doz...@go.eat.some.screws.spammer.invalid> wrote:
>> On 2010-05-06, i0cus <slawomir.gwizdow...@gmail.com> wrote:
>>
>> >>         .. moze tak:
>> >> (0,)*len(a)
>>
>> > Nie jestem fanem wiszącego przecinka w tej konstrukcji. ;-)
>>
>> To spróbuj, mądralo, bez niego. To nawet ja, programista Perla(!), wiem
>> że krotki nie zbudujesz w Pythonie z jednego elementu na samych
>> nawiasach bez przecinka.
>
> Czy ja gdzieś napisałem, że kod jest niepoprawny?

Czy napisałem że twierdzisz że jest niepoprawny?

> Dzięki, Pythona
> zacząłem używać w połowie cyklu życia 2.2, więc wierz mi, że wiem jak
> się robi 1-krotkę w tym języku.

A teraz wróć do swojej wypowiedzi. Jak to można zrozumieć? "Nie jestem
fanem tego przecinka; wywal go, będzie równie dobrze działać". A skąd
niby można się domyślić że miałeś na myśli wybór ludzi opracowujących
składnię, skoro wypowiadasz się w kontekście cudzego już napisanego
kodu?

> I nadal nie lubię tej notacji, bo
> wbrew pozorom nie jest oczywista na pierwszy rzut oka.
>
> Zabawne, że wyrażenie opinii na temat czytelności kodu w Pythonie

Nie czytelności, tylko zgodności z oczekiwaniami.

> na
> grupie pl.comp.lang.python zostaje podjęte przez programistę Perla(!),
> który w odpowiedzi mnie wyzywa.

Wyzywa? W którym miejscu?

-- 
Secunia non olet.
Stanislaw Klekot
Re: dynamiczna lista i krotka
#27455
Author: Michał Żarłok
Date: Sat, 08 May 2010 14:17
21 lines
1340 bytes
Adam Przybyla wrote:
> .. moze tak:
> (0,)*len(a)
> Z powazaniem
> Adam Przybyla

Uwaga! Takie wyrażenie tworzy krotkę o długości len(a), której 
elementami są referencje do tego samego obiektu!

>>> class A:
...     x = 1
... 
>>> a = (A(),) * 100
>>> a[1].x
1
>>> a[1].x = 5
>>> a[5].x
5

Pozdrawiam,
Michał Żarłok
Re: dynamiczna lista i krotka
#27456
Author: Jordan Szubert
Date: Sat, 08 May 2010 14:49
16 lines
1711 bytes
Dnia 08-05-2010 o 16:17:18 Michał Żarłok <mishaaq_*wytnij_*to_*@gmail.com>  
napisał(a):

> Adam Przybyla wrote:
>> .. moze tak:
>> (0,)*len(a)
>> Z powazaniem
>> Adam Przybyla
>
> Uwaga! Takie wyrażenie tworzy krotkę o długości len(a), której
> elementami są referencje do tego samego obiektu!

co może być problemem, jeśli jest to obiekt modyfikowalny, 0 nie jest, a  
to mnożenie wygląda na szybkie...

[8<]
Re: dynamiczna lista i krotka
#27457
Author: Artur M. Piwko
Date: Sat, 08 May 2010 17:36
19 lines
1679 bytes
In the darkest hour on Sat, 08 May 2010 16:17:18 +0200,
Michał Żarłok <mishaaq_*wytnij_*to_*@gmail.com> screamed:
>> .. moze tak:
>> (0,)*len(a)
>> Z powazaniem
>> Adam Przybyla
>
> Uwaga! Takie wyrażenie tworzy krotkę o długości len(a), której 
> elementami są referencje do tego samego obiektu!
>

W przypadku krotki to w zasadzie bez znaczenia, chyba, że chcemy
robić coś tak dziwnego jak w Twoim przykładzie.

-- 
[ Artur M. Piwko : Pipen : AMP29-RIPE : RLU:100918 : From == Trap! : SIG:240B ]
[ 19:35:16 user up 12431 days,  7:30,  1 user, load average: 0.56, 0.38, 0.02 ]

 There R 2 rules for ultimate success in life. 1. Never tell everything U know.
Re: dynamiczna lista i krotka
#27458
Author: Adam Przybyla
Date: Sun, 09 May 2010 08:51
36 lines
1945 bytes
Michał Żarłok <mishaaq_*wytnij_*to_*@gmail.com> wrote:
> Adam Przybyla wrote:
>> .. moze tak:
>> (0,)*len(a)
>> Z powazaniem
>> Adam Przybyla
> 
> Uwaga! Takie wyrażenie tworzy krotkę o długości len(a), której 
> elementami są referencje do tego samego obiektu!
> 
>>>> class A:
> ...     x = 1
> ... 
>>>> a = (A(),) * 100
>>>> a[1].x
> 1
>>>> a[1].x = 5
>>>> a[5].x
> 5
	... ale krotka (nie obiekt klasy) i tak jest niezmienialna;-) 

smtp:/home/adam>python
Python 2.4.3 (#1, Sep  3 2009, 15:37:12) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-46)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> a=range(10)
>>> c= (0,)*len(a)
>>> c
(0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
>>> c[0]=1
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
TypeError: object does not support item assignment
>>> 
Z powazaniem
								Adam Przybyla
Re: dynamiczna lista i krotka
#27454
Author: i0cus
Date: Fri, 21 May 2010 08:56
77 lines
4403 bytes
Powiadomiena z grup przez dwa tygodnie nie przychodziły na skrzynkę,
ech. Zapomniałem o tym wątku już.

On 7 Maj, 10:31, "Stachu 'Dozzie' K."
<doz...@go.eat.some.screws.spammer.invalid> wrote:
> On 2010-05-07, i0cus <slawomir.gwizdow...@gmail.com> wrote:
>
> > On 6 Maj, 15:21, "Stachu 'Dozzie' K."
> ><doz...@go.eat.some.screws.spammer.invalid> wrote:
> >> On 2010-05-06, i0cus <slawomir.gwizdow...@gmail.com> wrote:
>
> >> >>         .. moze tak:
> >> >> (0,)*len(a)
>
> >> > Nie jestem fanem wiszącego przecinka w tej konstrukcji. ;-)
>
> >> To spróbuj, mądralo, bez niego. To nawet ja, programista Perla(!), wiem
> >> że krotki nie zbudujesz w Pythonie z jednego elementu na samych
> >> nawiasach bez przecinka.
>
> > Czy ja gdzieś napisałem, że kod jest niepoprawny?
>
> Czy napisałem że twierdzisz że jest niepoprawny?

A co miałeś na myśli pisząc ,,spróbuj, mądralo, bez niego''? Wiem co
się dzieje bez niego. I to -- wstaw sobie -- bez próbowania.


> > Dzięki, Pythona
> > zacząłem używać w połowie cyklu życia 2.2, więc wierz mi, że wiem jak
> > się robi 1-krotkę w tym języku.
>
> A teraz wróć do swojej wypowiedzi. Jak to można zrozumieć? "Nie jestem
> fanem tego przecinka; wywal go, będzie równie dobrze działać". A skąd
> niby można się domyślić że miałeś na myśli wybór ludzi opracowujących
> składnię, skoro wypowiadasz się w kontekście cudzego już napisanego
> kodu?

W kontekście tego, że wcześniej podałem rozwiązanie, można ją też
zrozumieć tak, że przecinek jest łatwy do przeoczenia i wolę bardziej
czytelną składnię pt. ,,zrób krotkę iterując po analogicznej liście''
niż ,,pomnóż 1-krotkę przez długość listy''. Ale czym tu wtedy zacząć
flejma?


> > I nadal nie lubię tej notacji, bo
> > wbrew pozorom nie jest oczywista na pierwszy rzut oka.
>
> > Zabawne, że wyrażenie opinii na temat czytelności kodu w Pythonie
>
> Nie czytelności, tylko zgodności z oczekiwaniami.

No i tu się nie rozumiemy. Bo ja napisałem, że ,,nie jestem fanem
konstrukcji'', a Ty coś bredzisz o zgodności z oczekiwaniami. Nie
napisałem, że nie działa. Napisałem, że nie jest przyjazne
początkującym, ani miłe dla oka. Ale rozumiem, że skalałem Twój honor
i musiałeś się bronić. Wybacz ten Niczym Niesprowokowany Akt Agresji,
więcej nie będę.


> > na
> > grupie pl.comp.lang.python zostaje podjęte przez programistę Perla(!),
> > który w odpowiedzi mnie wyzywa.
>
> Wyzywa? W którym miejscu?

,,Mądralo.'' Zbędny, nic nie wnoszący do dyskusji, sarkastyczny zwrot
do rozmówcy. Czy może u Perlowców to jest coś jak nasze ,,dzień
dobry''? ;-)


BPNMSP.


> --
> Secunia non olet.
> Stanislaw Klekot
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads