Hướng dẫn how do i change none value in python? - làm cách nào để thay đổi không có giá trị nào trong python?

48

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ó:

d = [1,'q','3', None, 'temp']

Tôi muốn thay thế không có giá trị thành 'none' hoặc bất kỳ chuỗi nào

Hiệu ứng mong đợi:

d = [1,'q','3', 'None', 'temp']

thử thay thế trong chuỗi và cho vòng lặp nhưng tôi gặp lỗi:

TypeError: expected a character buffer object

Hướng dẫn how do i change none value in python? - làm cách nào để thay đổi không có giá trị nào trong python?

Hỏi ngày 14 tháng 10 năm 2013 lúc 15:36Oct 14, 2013 at 15:36

2

Sử dụng một danh sách đơn giản hiểu biết:

['None' if v is None else v for v in d]

Demo:

>>> d = [1,'q','3', None, 'temp']
>>> ['None' if v is None else v for v in d]
[1, 'q', '3', 'None', 'temp']

Lưu ý bài kiểm tra

d = [1,'q','3', 'None', 'temp']
2 để phù hợp với singleton
d = [1,'q','3', 'None', 'temp']
3.

Đã trả lời ngày 14 tháng 10 năm 2013 lúc 15:36Oct 14, 2013 at 15:36

Martijn Pieters ♦ Martijn PietersMartijn Pieters

990K276 Huy hiệu vàng3898 Huy hiệu bạc3250 Huy hiệu đồng276 gold badges3898 silver badges3250 bronze badges

0

Bạn có thể chỉ cần sử dụng

d = [1,'q','3', 'None', 'temp']
4 và chuyển đổi tất cả các mục thành các chuỗi bằng hàm
d = [1,'q','3', 'None', 'temp']
5:all items to strings using the
d = [1,'q','3', 'None', 'temp']
5 function:

map(str, d)
#['1', 'q', '3', 'None', 'temp']

Nếu bạn chỉ muốn chuyển đổi các giá trị

d = [1,'q','3', 'None', 'temp']
3, bạn có thể làm:

[str(di) if di is None else di for di in d]

Đã trả lời ngày 14 tháng 10 năm 2013 lúc 15:44Oct 14, 2013 at 15:44

Hướng dẫn how do i change none value in python? - làm cách nào để thay đổi không có giá trị nào trong python?

0

Bắt đầu Python 3.6 Bạn có thể làm điều đó ở dạng ngắn hơn:

d = [f'{e}' for e in d]

Hy vọng điều này sẽ giúp ích cho một người nào đó kể từ đó, tôi đã gặp vấn đề này chỉ một lúc trước.

Đã trả lời ngày 29 tháng 9 năm 2017 lúc 12:42Sep 29, 2017 at 12:42

Hướng dẫn how do i change none value in python? - làm cách nào để thay đổi không có giá trị nào trong python?

UzzyuzzyUzzy

4218 Huy hiệu bạc15 Huy hiệu Đồng8 silver badges15 bronze badges

2

Tuy nhiên, sử dụng một vòng lặp dài và không hiệu quả cho người mới bắt đầu, nó sẽ trông giống như:

d = [1,'q','3', None, 'temp']
e = []

for i in d:
    if i is None: #if i == None is also valid but slower and not recommended by PEP8
        e.append("None")
    else:
        e.append(i)

d = e
print d
#[1, 'q', '3', 'None', 'temp']

Chỉ dành cho người mới bắt đầu, câu trả lời @martins phù hợp hơn về sức mạnh và hiệu quả

Đã trả lời ngày 14 tháng 10 năm 2013 lúc 15:42Oct 14, 2013 at 15:42

K Dawgk DawgK DawG

12.9k9 Huy hiệu vàng33 Huy hiệu bạc65 Huy hiệu Đồng9 gold badges33 silver badges65 bronze badges

4

Danh sách hiểu là cách đúng đắn, nhưng trong trường hợp, vì những lý do nổi tiếng nhất với bạn, bạn thà thay thế nó tại chỗ hơn là tạo một danh sách mới (cho rằng thực tế là danh sách Python là có thể thay đổi), một cách tiếp cận thay thế là theo sau

d = [1,'q','3', None, 'temp', None]
try:
    while True:
        d[d.index(None)] = 'None'
except ValueError:
    pass

>>> d
[1, 'q', '3', 'None', 'temp', 'None']

Đã trả lời ngày 14 tháng 10 năm 2013 lúc 15:43Oct 14, 2013 at 15:43

AbhijitabhijitAbhijit

60.2K18 Huy hiệu vàng127 Huy hiệu bạc198 Huy hiệu đồng18 gold badges127 silver badges198 bronze badges

Tôi không nhận thấy bất kỳ câu trả lời nào bằng Lambda ..

Một người muốn sử dụng Lambda .... (Xem xét các bình luận để giải thích.)

d = [1,'q','3', 'None', 'temp']
0

Đã trả lời ngày 29 tháng 6 năm 2020 lúc 3:34Jun 29, 2020 at 3:34

Hướng dẫn how do i change none value in python? - làm cách nào để thay đổi không có giá trị nào trong python?

Pavan Chandakapavan ChandakaPavan Chandaka

10,8K5 Huy hiệu vàng24 Huy hiệu bạc32 Huy hiệu đồng5 gold badges24 silver badges32 bronze badges

Giải pháp của tôi là phù hợp với

d = [1,'q','3', 'None', 'temp']
3 và thay thế nó.

d = [1,'q','3', 'None', 'temp']
1

Hướng dẫn how do i change none value in python? - làm cách nào để thay đổi không có giá trị nào trong python?

Đã trả lời ngày 17 tháng 7 lúc 10:55Jul 17 at 10:55

0

Làm thế nào để bạn thay thế một phần tử trống trong danh sách trong Python?

Dưới đây là 4 cách để loại bỏ các chuỗi trống khỏi danh sách trong Python:..
.
.

Làm thế nào để bạn chuyển đổi null thành không có trong Python?

Sử dụng phương thức json.Loads () để chuyển đổi các giá trị null json thành không có trong python. loads() method to convert JSON NULL values to None in Python.

Làm thế nào để bạn thay thế một giá trị trong danh sách Python?

Chúng ta có thể thay thế các giá trị bên trong danh sách bằng cách cắt lát.Đầu tiên, chúng tôi tìm thấy chỉ mục của biến mà chúng tôi muốn thay thế và lưu trữ nó trong biến 'I'.Sau đó, chúng tôi thay thế mục đó bằng một giá trị mới bằng cách sử dụng cắt danh sách.using slicing. First, we find the index of variable that we want to replace and store it in variable 'i'. Then, we replace that item with a new value using list slicing.

Làm cách nào để chọn không có chuỗi?

Sử dụng str () để chuyển đổi đối tượng không thành một chuỗi..
AN_OBject = none ..
AN_OBject_String = str (an_Object).
print(an_object_string).