Jaki jest najszybszy i najczystszy sposób przekonwertowania integer
na list
? Na przykład zmień 132
na [1,3,2]
i 23
na [2,3]
. Mam zmienną, która jest int
, i chcę móc porównać poszczególne cyfry, więc pomyślałem, że zrobienie tego na liście byłoby najlepsze, ponieważ mogę po prostu zrobić int(number[0])
, int(number[1])
, aby łatwo przekonwertować element list z powrotem na int dla operacje cyfrowe.konwersja liczby całkowitej na listę w pythonie
Odpowiedz
Konwersja liczbę całkowitą na łańcuch, a potem użyć map
zastosować int
na nim:
>>> num = 132
>>> map(int, str(num)) #note, This will return a map object in python 3.
[1, 3, 2]
lub używając wyrażeń listowych:
>>> [int(x) for x in str(num)]
[1, 3, 2]
Zastosowanie list
od szeregu zamieniane na ciąg znaków:
In [1]: list(str(123))
Out[2]: ['1', '2', '3']
Dlaczego upadek? – Tim
@Tim: To nie daje listy int, ale listę ciągów znaków. –
Najkrótszy i Najlepszym sposobem jest już odpowiedział, ale pierwszą rzeczą, myślałem był sposób matematyczny, więc tutaj jest:
def intlist(n):
q = n
ret = []
while q != 0:
q, r = divmod(q, 10) # Divide by 10, see the remainder
ret.insert(0, r) # The remainder is the first to the right digit
return ret
print intlist(3)
print '-'
print intlist(10)
print '--'
print intlist(137)
to tylko kolejny interesujące podejście, na pewno nie trzeba używać coś takiego w praktyce przypadki.
'list.insert (0, element)' jest operacją 'O (n)'. Zamiast tego możesz użyć 'list.append (item)' i odwrócić listę na końcu: 'ret [:: - 1]'. – jfs
n = int(raw_input("n= "))
def int_to_list(n):
l = []
while n != 0:
l = [n % 10] + l
n = n // 10
return l
print int_to_list(n)
Proszę dodać wyjaśnienie, a nie tylko kod. Wyjaśnij, co robi. – MLavrentyev
- 1. Dzielenie liczby całkowitej w Pythonie?
- 2. JavaScript - konwersja liczby całkowitej na tablicę bitów
- 3. Konwersja liczby całkowitej na adres IP
- 4. Konwersja daty do liczby całkowitej w Javie
- 5. Konwersja ciąg do liczby całkowitej, używając mapy()
- 6. podwójna konwersja do liczby całkowitej w java
- 7. Konwersja wykładniczej do liczby całkowitej w PHP
- 8. Ada95: Konwersja liczby całkowitej do postaci
- 9. konwersja tablicy ciąg do liczby całkowitej tablicę
- 10. Dodawanie liczby całkowitej do początku listy w Pythonie
- 11. Konwersja z 32-bitowej liczby całkowitej na 4 znaki
- 12. Konwersja listę list do krotki w Pythonie
- 13. Konwersja String spacjami do liczby całkowitej w java
- 14. Konwersja number Peano S (N) do liczby całkowitej w Prologu
- 15. Znaleźć długość ciągu liczby całkowitej w .NET
- 16. Runda do najbliższej liczby całkowitej
- 17. Zaokrąglanie liczby całkowitej do najbliższej wielokrotności innej liczby całkowitej
- 18. SQL Server Konwersja liczby całkowitej do łańcucha binarnego
- 19. serwer MS SQL - konwersja HEX ciąg do liczby całkowitej
- 20. Wykrywanie przepełnienia liczby całkowitej
- 21. C++ Sprawdzanie liczby całkowitej.
- 22. Wykrywanie przepełnienia liczby całkowitej
- 23. Konwersja słownika na listę
- 24. Dzielenie liczby całkowitej na jej oddzielne cyfry
- 25. Ustawienie wartość logiczną na podstawie liczby całkowitej
- 26. Konwersja 32-bitowej liczby całkowitej na 4 bajty danych w javascript
- 27. Kontrola przekroczenia liczby całkowitej SSE2
- 28. C tylko znak liczby całkowitej
- 29. Konwersja liczby dodatniej na ujemną w C#
- 30. Konwersja listy System.Array na listę
Próbowałem co napisałeś, ale nie wrócił samo jak ty: >>> num = 132 >>> mapy (int, STR (NUM)) (Nie wiem, jak dobrze sformatować komentarz). –
GinKin
@GinKin Dla Pythona 3 potrzebujesz 'list (map (int, str (num)))'. –