kzen.dev
  • Pytania
  • Tagi
  • Użytkownicy
Powiadomienia
Nagrody
Rejestracja
Po zarejestrowaniu się, będziesz otrzymywać powiadomienia o odpowiedziach i komentarzach do swoich pytań.
Zaloguj się
Brak tłumaczeń pasujących do Twojego wyszukiwania Jeśli masz już konto, zaloguj się, aby sprawdzić nowe powiadomienia.
Za dodane pytania, odpowiedzi i komentarze przewidziane są nagrody.
Więcej
Źródło
Edytuj
Evan Fosmark
Evan Fosmark
Question

Dlaczego jest to string.join(lista) zamiast list.join(string)?

To zawsze mnie dezorientowało. Wydaje się, że tak byłoby ładniej:

my_list = ["Hello", "world"]
print(my_list.join("-"))
# Produce: "Hello-world"

niż to:

my_list = ["Hello", "world"]
print("-".join(my_list))
# Produce: "Hello-world"

Czy jest jakiś konkretny powód, dla którego tak się dzieje?

1661 2009-01-29T22:45:13+00:00 3
 philipxy
philipxy
Edytowane pytanie 23. września 2019 в 5:59
Programowanie
python
string
list
Popular videos
Flutter : Upload file / pdf / audio in your app | multipart request | flutter coding
Flutter : Upload file / pdf / audio in your app | multipart request | flutter coding
2 lata temu
Python - 10 trików, które powinieneś znać
Python - 10 trików, które powinieneś znać
2 lata temu
The Great Gildersleeve: Gildy's Radio Broadcast / Gildy's New Secretary / Anniversary Dinner
The Great Gildersleeve: Gildy's Radio Broadcast / Gildy's New Secretary / Anniversary Dinner
11 lat temu
Python Blender 2.8 Tutorial: Creating the Text Tool Add-on [learn python for beginners]
Python Blender 2.8 Tutorial: Creating the Text Tool Add-on [learn python for beginners]
3 lata temu
3. Kurs SQL - LIMIT, DISTINCT oraz CONCAT
3. Kurs SQL - LIMIT, DISTINCT oraz CONCAT
3 lata temu
Spring Boot Tutorial using JDBC + Connection Pool + Flyway + JDBC Template + SQL and Docker 😲
Spring Boot Tutorial using JDBC + Connection Pool + Flyway + JDBC Template + SQL and Docker 😲
2 lata temu
Power Query To Add Numbers To CSV Data - Dueling Excel 193
Power Query To Add Numbers To CSV Data - Dueling Excel 193
3 lata temu
PYTHON : Why is it string.join(list) instead of list.join(string)?
PYTHON : Why is it string.join(list) instead of list.join(string)?
1 rok temu
string.join(list) vs list.join(string) | Why Python’s Creators Chose The Former
string.join(list) vs list.join(string) | Why Python’s Creators Chose The Former
3 lata temu
python - Why is it string.join(list) instead of list.join(string)?
python - Why is it string.join(list) instead of list.join(string)?
2 lata temu
f-string, łączenie tekstu - konkatenacja
f-string, łączenie tekstu - konkatenacja
2 lata temu
MyTodoApp - Lista zadań zintegrowana z kalendarzem w SwiftUI
MyTodoApp - Lista zadań zintegrowana z kalendarzem w SwiftUI
2 lata temu
PARSE LIST OF LISTS OF DICTIONARIES USING PYTHON | JSON | NESTED LISTS
PARSE LIST OF LISTS OF DICTIONARIES USING PYTHON | JSON | NESTED LISTS
3 lata temu
921-RO_IT Camelia, GALAXY - Hipnoza Ezoterică ∞ Lucio Carsi
921-RO_IT Camelia, GALAXY - Hipnoza Ezoterică ∞ Lucio Carsi
2 lata temu
[PHP] API - GET, POST, PATCH/PUT, DELETE - To Do List #2
[PHP] API - GET, POST, PATCH/PUT, DELETE - To Do List #2
2 lata temu
Old Rusted PlayStation 2 Fat Restoration | Retro Repair Guy Episode 17
Old Rusted PlayStation 2 Fat Restoration | Retro Repair Guy Episode 17
2 lata temu
Surprising: Split Outlook Distribution List In Excel - 2282
Surprising: Split Outlook Distribution List In Excel - 2282
4 lata temu
Redis for dummies - jak się nie narobić, a zrobić, żeby fajne działało?
Redis for dummies - jak się nie narobić, a zrobić, żeby fajne działało?
2 lata temu
« Poprzedni
Następny »
To pytanie ma 1 odpowiedź w języku angielskim, aby je przeczytać zaloguj się na swoje konto.
Solution / Answer
 recursive
recursive
29. stycznia 2009 в 10:51
2009-01-29T22:51:18+00:00
Więcej
Źródło
Edytuj
#8783916

Dzieje się tak dlatego, że każda iterowalna może być połączona, nie tylko listy, ale wynik i "joiner" są zawsze łańcuchami.

Na przykład:

import urllib2
print('\n############\n'.join(
    urllib2.urlopen('http://data.stackexchange.com/users/7095')))
 Boris
Boris
Edytowana odpowiedź 23. września 2019 в 3:44
1208
0
Do you have a question? Add it on the site and get an answer instantly
en.kzen.dev
Bill Karwin
Bill Karwin
29. stycznia 2009 в 10:48
2009-01-29T22:48:38+00:00
Więcej
Źródło
Edytuj
#8783915

Ponieważ metoda join() jest w klasie string, a nie w klasie list?

Zgadzam się, że wygląda to zabawnie.

Zobacz http://www.faqs.org/docs/diveintopython/odbchelper_join.html:

Historyczna notatka. Kiedy po raz pierwszy nauczyłem się Pythona, spodziewałem się, że join będzie metodą listy, która będzie przyjmować delimiter jako argument. Mnóstwo ludzi czuje to samo, i jest historia kryjąca się za metodą join. Przed do Pythona 1.6, łańcuchy nie miały wszystkich tych użytecznych metod. Istniał oddzielny moduł string, który zawierał wszystkie funkcje łańcuchowe; każda z nich funkcja przyjmowała ciąg znaków jako swój pierwszy argument. Funkcje te zostały uznane za wystarczająco ważne, aby umieścić je na same ciągi, co miało sens dla funkcji takich jak lower, upper, i split. Ale wielu zatwardziałych programistów Pythona programistów sprzeciwiało się nowej metodzie join argumentując, że powinna to być metoda metoda listy zamiast tego, lub że nie powinna się w ogóle ruszać, ale po prostu pozostać częścią starego modułu string (który wciąż ma w sobie wiele przydatnych rzeczy). Używam wyłącznie nowej metody join, ale zobaczysz kod napisany w dowolny sposób, a jeśli naprawdę ci to przeszkadza, możesz możesz użyć starej funkcji string.join zamiast tego.

--- Mark Pilgrim, Dive into Python

Brian Burns
Brian Burns
Edytowana odpowiedź 30. października 2017 в 5:11
248
0
Do you have a question? Add it on the site and get an answer instantly
en.kzen.dev
 S.Lott
S.Lott
29. stycznia 2009 в 10:51
2009-01-29T22:51:45+00:00
Więcej
Źródło
Edytuj
#8783917

Przede wszystkim dlatego, że wynik someString.join() jest ciągiem znaków.

Sekwencja (lista lub tuple lub cokolwiek innego) nie pojawia się w wyniku, tylko ciąg. Ponieważ wynik jest ciągiem, ma to sens jako metoda ciągu.

13
0
Dodaj pytanie
Kategorie
Wszystkie
Technologia
Kultura / Rekreacja
Życie / Sztuka
Nauka
Profesjonalny
Biznes
Użytkownicy
Wszystkie
Nowy
Popularny
1
Andrei Kalinin
Zarejestrowany 2 tygodnie temu
2
Koroleva Ego
Zarejestrowany 1 miesiąc temu
3
Star Lenon
Zarejestrowany 1 miesiąc temu
4
Данил Жевнеров
Zarejestrowany 1 miesiąc temu
5
Анна Литвиненко
Zarejestrowany 2 miesiące temu
Do you have a question? Add it on the site and get an answer instantly
en.kzen.dev
BG
DA
DE
EL
ES
FR
HU
ID
IT
JA
KO
NL
PL
PT
RO
RU
SL
TR
ZH
© kzen.dev 2023
Źródło
stackoverflow.com
na podstawie licencji cc by-sa 3.0 z przypisaniem