-2
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Tôi cần trả lại câu đố đã cho với mỗi ký tự chữ cái được thay thế bằng ký tự ẩn.
HIDDEN = '^'
def blah[r]:
r = HIDDEN * len[r]
return r
Hàm này hoạt động để thay thế bất kỳ chuỗi nào tôi cần, nhưng câu hỏi cụ thể đặt ra rằng mỗi ký tự chữ cái được thay thế.
Vì vậy, tôi không thể có
import string
table = string.maketrans[string.ascii_letters, '^'*len[string.ascii_letters]]
def blah[r]:
return r.translate[table]
1 hoặc import string
table = string.maketrans[string.ascii_letters, '^'*len[string.ascii_letters]]
def blah[r]:
return r.translate[table]
2 hoặc import string
table = string.maketrans[string.ascii_letters, '^'*len[string.ascii_letters]]
def blah[r]:
return r.translate[table]
3 được thay thế bằng ẩn vì chúng không phải là ký tự chữ cái.Làm thế nào tôi nên đi về điều này?
Adam Lear ♦♦
37.2K12 Huy hiệu vàng82 Huy hiệu bạc99 Huy hiệu đồng12 gold badges82 silver badges99 bronze badges
Hỏi ngày 19 tháng 10 năm 2012 lúc 2:23Oct 19, 2012 at 2:23
7
Một cách tiếp cận: Sử dụng phương thức dịch:
import string
table = string.maketrans[string.ascii_letters, '^'*len[string.ascii_letters]]
def blah[r]:
return r.translate[table]
Một cách tiếp cận khác: Sử dụng
import string
table = string.maketrans[string.ascii_letters, '^'*len[string.ascii_letters]]
def blah[r]:
return r.translate[table]
4:import re
def blah[r]:
return re.sub[r'[a-zA-Z]', r'^', r]
Đã trả lời ngày 19 tháng 10 năm 2012 lúc 2:29Oct 19, 2012 at 2:29
Nneonneonneonneonneonneo
166K35 Huy hiệu vàng297 Huy hiệu bạc368 Huy hiệu Đồng35 gold badges297 silver badges368 bronze badges
4
Kiểm tra Maketrans, bạn có thể tạo một bảng dịch từ
import string
table = string.maketrans[string.ascii_letters, '^'*len[string.ascii_letters]]
def blah[r]:
return r.translate[table]
5 đến import string
table = string.maketrans[string.ascii_letters, '^'*len[string.ascii_letters]]
def blah[r]:
return r.translate[table]
6 và sau đó sử dụng nó.Đã trả lời ngày 19 tháng 10 năm 2012 lúc 2:29Oct 19, 2012 at 2:29
NneonneonneonneoMiki Tebeka
166K35 Huy hiệu vàng297 Huy hiệu bạc368 Huy hiệu Đồng3 gold badges37 silver badges48 bronze badges
Kiểm tra Maketrans, bạn có thể tạo một bảng dịch từ
import string
table = string.maketrans[string.ascii_letters, '^'*len[string.ascii_letters]]
def blah[r]:
return r.translate[table]
5 đến import string
table = string.maketrans[string.ascii_letters, '^'*len[string.ascii_letters]]
def blah[r]:
return r.translate[table]
6 và sau đó sử dụng nó.def make_hidden[instr]:
return ''.join[c if c.isalpha[] else '^' for c in instr]
Miki Tebekamiki TebekaOct 19, 2012 at 2:49
12.9k3 Huy hiệu vàng37 Huy hiệu bạc48 Huy hiệu đồngmgilson
Tôi đã luôn thấy
7 có một chút khó hiểu, vì vậy tôi thường quay trở lại với những cách nguyên thủy hơn để làm những việc này [điều này có ý nghĩa hơn với tôi]:60 gold badges605 silver badges676 bronze badgesimport string
table = string.maketrans[string.ascii_letters, '^'*len[string.ascii_letters]]
def blah[r]:
return r.translate[table]
2
Đã trả lời ngày 19 tháng 10 năm 2012 lúc 2:49
HIDDEN = '^'
def blah[r]:
new_r = ""
for ch in r:
if ch in 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ':
new_r += HIDDEN
else:
new_r += ch
return new_r
Mgilsonmgilson
289K60 Huy hiệu vàng605 Huy hiệu bạc676 Huy hiệu Đồng35 gold badges143 silver badges253 bronze badges
Trả lại câu đố đã cho với mỗi ký tự chữ cái được thay thế bằng ký tự ẩn.Dec 9, 2012 at 1:32
Brian MainsEric Jung
50.3K35 Huy hiệu vàng143 Huy hiệu bạc253 Huy hiệu Đồng1 gold badge3 silver badges12 bronze badges
Trong hướng dẫn này, chúng tôi sẽ tìm hiểu về phương thức python thay thế [] với sự trợ giúp của các ví dụ.
Phương thức
import string
table = string.maketrans[string.ascii_letters, '^'*len[string.ascii_letters]]
def blah[r]:
return r.translate[table]
8 thay thế cho mỗi lần xuất hiện của ký tự/văn bản cũ trong chuỗi với ký tự/văn bản mới.Thí dụ
text = 'bat ball'
# replace b with c
replaced_text = text.replace['b', 'c']
print[replaced_text]
# Output: cat call
thay thế [] cú pháp
Đó là cú pháp là:
str.replace[old, new [, count]]
thay thế [] tham số
Phương thức
import string
table = string.maketrans[string.ascii_letters, '^'*len[string.ascii_letters]]
def blah[r]:
return r.translate[table]
8 có thể mất tối đa 3 tham số:- Cựu Ước - Cựu Ước bạn muốn thay thế - old substring you want to replace
- Mới - Chất nền mới sẽ thay thế bộ nền cũ - new substring which will replace the old substring
- Đếm [Tùy chọn] - Số lần bạn muốn thay thế bộ nền cũ bằng cách [optional] - the number of times you want to replace the old substring with the new substring
Lưu ý: Nếu số lượng không được chỉ định, phương thức
8 thay thế tất cả các lần xuất hiện của chuỗi con cũ bằng chuỗi con mới.: If count is not specified, the import string
table = string.maketrans[string.ascii_letters, '^'*len[string.ascii_letters]]
def blah[r]:
return r.translate[table]
import string
table = string.maketrans[string.ascii_letters, '^'*len[string.ascii_letters]]
def blah[r]:
return r.translate[table]
8 method replaces all occurrences of the old substring with the new substring.
thay thế [] giá trị trả về
Phương thức
import string
table = string.maketrans[string.ascii_letters, '^'*len[string.ascii_letters]]
def blah[r]:
return r.translate[table]
8 trả về một bản sao của chuỗi trong đó chuỗi con cũ được thay thế bằng chuỗi con mới. Chuỗi ban đầu không thay đổi.Nếu không tìm thấy chuỗi con cũ, nó sẽ trả về bản sao của chuỗi gốc.
Ví dụ 1: Sử dụng thay thế []
song = 'cold, cold heart'
# replacing 'cold' with 'hurt'
print[song.replace['cold', 'hurt']]
song = 'Let it be, let it be, let it be, let it be'
# replacing only two occurences of 'let'
print[song.replace['let', "don't let", 2]]
Đầu ra
hurt, hurt heart Let it be, don't let it be, don't let it be, let it be
Thêm ví dụ về Chuỗi thay thế []
song = 'cold, cold heart'
replaced_song = song.replace['o', 'e']
# The original string is unchanged
print['Original string:', song]
print['Replaced string:', replaced_song]
song = 'let it be, let it be, let it be'
# maximum of 0 substring is replaced
# returns copy of the original string
print[song.replace['let', 'so', 0]]
Đầu ra
import string
table = string.maketrans[string.ascii_letters, '^'*len[string.ascii_letters]]
def blah[r]:
return r.translate[table]
0