Python thay thế không có chuỗi rỗng trong dict

Tôi có một tệp văn bản mà tôi đang cố ghi vào tệp JSON. Một số giá trị được trả về là Không có, Đúng hoặc Sai. Tôi cần thay thế Không có bằng "Không" (chuỗi), Đúng bằng "Đúng" và Sai bằng "Sai"

Tôi đã thử thêm dòng

data=data.replace(None,"None")

Tuy nhiên, tôi nhận được một lỗi

Traceback (most recent call last):
  File "parse_get_drivers.py", line 17, in 
    data=data.replace(None,"None")
TypeError: replace() argument 1 must be str, not None

Đây là kịch bản của tôi

import json
import re
from pprint import pprint
import pandas as pd

inHandler = open('get_drivers.txt', 'r')
outHandler = open('drivers.json', 'w')
data = ''


for line in inHandler.readlines():
    print('src:' + line)
    line = line.replace("}]},","}]},\r")
    data += line
    print('replace:' + line)
    data=data.replace("'", '"')
    data=data.replace(None,"None")

outHandler.write(data)

inHandler.close()
outHandler.close()

Kết quả yêu cầu là thay thế các giá trị Không, Đúng và Sai bằng "Không", "Đúng" và "Sai"

def replace_none(idx, dim):
    """
    Normalize slices to canonical form, i.e.
    replace ``None`` with the appropriate integers.

    Parameters
    ----------
    idx: slice or other index
    dim: dimension length

    Examples
    --------
    >>> replace_none(slice(None, None, None), 10)
    slice(0, 10, 1)
    """
    if not isinstance(idx, slice):
        return idx

    start, stop, step = idx.start, idx.stop, idx.step

    if step is None:
        step = 1

    if step > 0:
        if start is None:
            start = 0

        if stop is None:
            stop = dim
    else:
        if start is None:
            start = dim - 1

        if stop is None:
            stop = -1

    return slice(start, stop, step) 

Điều này khác với việc cập nhật bằng

>>> df = pd.DataFrame({'A': [0, 1, 2, 3, 4],
..                    'B': [5, 6, 7, 8, 9],
..                    'C': ['a', 'b', 'c', 'd', 'e']})
>>> df.replace(0, 5)
    A  B  C
0  5  5  a
1  1  6  b
2  2  7  c
3  3  8  d
4  4  9  e
7 hoặc
>>> df = pd.DataFrame({'A': [0, 1, 2, 3, 4],
..                    'B': [5, 6, 7, 8, 9],
..                    'C': ['a', 'b', 'c', 'd', 'e']})
>>> df.replace(0, 5)
    A  B  C
0  5  5  a
1  1  6  b
2  2  7  c
3  3  8  d
4  4  9  e
8, vốn yêu cầu bạn chỉ định một vị trí để cập nhật một số giá trị

Parametersto_replace str, regex, list, dict, Series, int, float hoặc Không

Cách tìm các giá trị sẽ được thay thế

  • số, str hoặc regex

    • con số. giá trị số bằng to_replace sẽ được thay thế bằng giá trị

    • str. chuỗi khớp chính xác với to_replace sẽ được thay thế bằng giá trị

    • biểu thức chính quy. biểu thức chính quy khớp với to_replace sẽ được thay thế bằng giá trị

  • danh sách str, regex hoặc số

    • Đầu tiên, nếu to_replace và value đều là danh sách, chúng phải có cùng độ dài

    • Thứ hai, nếu

      >>> df = pd.DataFrame({'A': [0, 1, 2, 3, 4],
      ..                    'B': [5, 6, 7, 8, 9],
      ..                    'C': ['a', 'b', 'c', 'd', 'e']})
      >>> df.replace(0, 5)
          A  B  C
      0  5  5  a
      1  1  6  b
      2  2  7  c
      3  3  8  d
      4  4  9  e
      
      9 thì tất cả các chuỗi trong cả hai danh sách sẽ được hiểu là biểu thức chính quy nếu không chúng sẽ khớp trực tiếp. Điều này không quan trọng lắm đối với giá trị vì chỉ có một vài biểu thức thay thế khả thi mà bạn có thể sử dụng

    • quy tắc str, regex và số áp dụng như trên

  • mệnh lệnh

    • Dicts có thể được sử dụng để chỉ định các giá trị thay thế khác nhau cho các giá trị hiện có khác nhau. Ví dụ:

      >>> df.replace([0, 1, 2, 3], 4)
          A  B  C
      0  4  5  a
      1  4  6  b
      2  4  7  c
      3  4  8  d
      4  4  9  e
      
      0 thay thế giá trị 'a' bằng 'b' và 'y' bằng 'z'. Để sử dụng lệnh theo cách này, không nên cung cấp tham số giá trị tùy chọn

    • Đối với DataFrame, một lệnh có thể chỉ định rằng các giá trị khác nhau sẽ được thay thế trong các cột khác nhau. Ví dụ:

      >>> df.replace([0, 1, 2, 3], 4)
          A  B  C
      0  4  5  a
      1  4  6  b
      2  4  7  c
      3  4  8  d
      4  4  9  e
      
      1 tìm kiếm giá trị 1 trong cột 'a' và giá trị 'z' trong cột 'b' và thay thế các giá trị này bằng bất kỳ giá trị nào được chỉ định trong giá trị. Tham số giá trị không nên là
      >>> df.replace([0, 1, 2, 3], 4)
          A  B  C
      0  4  5  a
      1  4  6  b
      2  4  7  c
      3  4  8  d
      4  4  9  e
      
      2 trong trường hợp này. Bạn có thể coi đây là trường hợp đặc biệt khi chuyển hai danh sách ngoại trừ việc bạn đang chỉ định cột để tìm kiếm trong đó

    • Đối với từ điển lồng nhau DataFrame, e. g. ,

      >>> df.replace([0, 1, 2, 3], 4)
          A  B  C
      0  4  5  a
      1  4  6  b
      2  4  7  c
      3  4  8  d
      4  4  9  e
      
      3, được đọc như sau. tìm trong cột 'a' cho giá trị 'b' và thay thế nó bằng NaN. Không nên chỉ định tham số giá trị tùy chọn để sử dụng lệnh lồng nhau theo cách này. Bạn cũng có thể lồng các biểu thức chính quy. Lưu ý rằng tên cột (các khóa từ điển cấp cao nhất trong từ điển lồng nhau) không thể là biểu thức chính quy

  • Không có

    • Điều này có nghĩa là đối số biểu thức chính quy phải là một chuỗi, biểu thức chính quy được biên dịch hoặc danh sách, dict, ndarray hoặc Chuỗi các phần tử đó. Nếu giá trị cũng là

      >>> df.replace([0, 1, 2, 3], 4)
          A  B  C
      0  4  5  a
      1  4  6  b
      2  4  7  c
      3  4  8  d
      4  4  9  e
      
      2 thì đây phải là từ điển lồng nhau hoặc Sê-ri

Xem phần ví dụ để biết ví dụ về từng loại này

giá trị vô hướng, dict, danh sách, str, regex, mặc định Không có

Giá trị để thay thế bất kỳ giá trị nào khớp với to_replace bằng. Đối với DataFrame, một lệnh của các giá trị có thể được sử dụng để chỉ định giá trị nào sẽ sử dụng cho mỗi cột (các cột không có trong lệnh sẽ không được điền). Biểu thức chính quy, chuỗi và danh sách hoặc ký tự của các đối tượng đó cũng được phép

tại chỗ bool, mặc định Sai

Nếu Đúng, thực hiện thao tác tại chỗ và trả về Không có

giới hạn int, mặc định Không có

Khoảng cách kích thước tối đa để lấp đầy về phía trước hoặc phía sau

regex bool hoặc cùng loại với to_replace, mặc định Sai

Có diễn giải to_replace và/hoặc giá trị dưới dạng biểu thức chính quy hay không. Nếu đây là

>>> df.replace([0, 1, 2, 3], 4)
    A  B  C
0  4  5  a
1  4  6  b
2  4  7  c
3  4  8  d
4  4  9  e
5 thì to_replace phải là một chuỗi. Ngoài ra, đây có thể là một biểu thức chính quy hoặc một danh sách, chính tả hoặc mảng các biểu thức chính quy trong trường hợp to_replace phải là
>>> df.replace([0, 1, 2, 3], 4)
    A  B  C
0  4  5  a
1  4  6  b
2  4  7  c
3  4  8  d
4  4  9  e
2

phương thức {'pad', 'fill', 'bfill'}

Phương thức sử dụng khi thay thế, khi to_replace là một vô hướng, danh sách hoặc bộ dữ liệu và giá trị là

>>> df.replace([0, 1, 2, 3], 4)
    A  B  C
0  4  5  a
1  4  6  b
2  4  7  c
3  4  8  d
4  4  9  e
2

Đã thay đổi trong phiên bản 0. 23. 0. Đã thêm vào DataFrame.

ReturnsSeries

Đối tượng sau khi thay thế

Tăng Xác nhận Lỗi
  • Nếu regex không phải là

    >>> df.replace([0, 1, 2, 3], 4)
        A  B  C
    0  4  5  a
    1  4  6  b
    2  4  7  c
    3  4  8  d
    4  4  9  e
    
    8 và to_replace không phải là
    >>> df.replace([0, 1, 2, 3], 4)
        A  B  C
    0  4  5  a
    1  4  6  b
    2  4  7  c
    3  4  8  d
    4  4  9  e
    
    2

LoạiLỗi
  • Nếu to_replace không phải là vô hướng, dạng mảng,

    Traceback (most recent call last):
      File "parse_get_drivers.py", line 17, in 
        data=data.replace(None,"None")
    TypeError: replace() argument 1 must be str, not None
    
    70 hoặc
    >>> df.replace([0, 1, 2, 3], 4)
        A  B  C
    0  4  5  a
    1  4  6  b
    2  4  7  c
    3  4  8  d
    4  4  9  e
    
    2

  • Nếu to_replace là một

    Traceback (most recent call last):
      File "parse_get_drivers.py", line 17, in 
        data=data.replace(None,"None")
    TypeError: replace() argument 1 must be str, not None
    
    70 và giá trị không phải là một
    Traceback (most recent call last):
      File "parse_get_drivers.py", line 17, in 
        data=data.replace(None,"None")
    TypeError: replace() argument 1 must be str, not None
    
    73,
    Traceback (most recent call last):
      File "parse_get_drivers.py", line 17, in 
        data=data.replace(None,"None")
    TypeError: replace() argument 1 must be str, not None
    
    70,
    Traceback (most recent call last):
      File "parse_get_drivers.py", line 17, in 
        data=data.replace(None,"None")
    TypeError: replace() argument 1 must be str, not None
    
    75 hoặc
    Traceback (most recent call last):
      File "parse_get_drivers.py", line 17, in 
        data=data.replace(None,"None")
    TypeError: replace() argument 1 must be str, not None
    
    76

  • Nếu to_replace là

    >>> df.replace([0, 1, 2, 3], 4)
        A  B  C
    0  4  5  a
    1  4  6  b
    2  4  7  c
    3  4  8  d
    4  4  9  e
    
    2 và regex không thể biên dịch thành biểu thức chính quy hoặc là danh sách, dict, ndarray hoặc Sê-ri

  • Khi thay thế nhiều đối tượng

    >>> df.replace([0, 1, 2, 3], 4)
        A  B  C
    0  4  5  a
    1  4  6  b
    2  4  7  c
    3  4  8  d
    4  4  9  e
    
    8 hoặc
    Traceback (most recent call last):
      File "parse_get_drivers.py", line 17, in 
        data=data.replace(None,"None")
    TypeError: replace() argument 1 must be str, not None
    
    79 và đối số to_replace không khớp với loại giá trị được thay thế

Giá trịError
  • Nếu một

    Traceback (most recent call last):
      File "parse_get_drivers.py", line 17, in 
        data=data.replace(None,"None")
    TypeError: replace() argument 1 must be str, not None
    
    73 hoặc một
    Traceback (most recent call last):
      File "parse_get_drivers.py", line 17, in 
        data=data.replace(None,"None")
    TypeError: replace() argument 1 must be str, not None
    
    75 được chuyển đến to_replace và giá trị nhưng chúng không có cùng độ dài

Xem thêm

Điền giá trị NA

Thay thế các giá trị dựa trên điều kiện boolean

Thay dây đơn giản

ghi chú

  • Thay thế Regex được thực hiện dưới mui xe với

    import json
    import re
    from pprint import pprint
    import pandas as pd
    
    inHandler = open('get_drivers.txt', 'r')
    outHandler = open('drivers.json', 'w')
    data = ''
    
    
    for line in inHandler.readlines():
        print('src:' + line)
        line = line.replace("}]},","}]},\r")
        data += line
        print('replace:' + line)
        data=data.replace("'", '"')
        data=data.replace(None,"None")
    
    outHandler.write(data)
    
    inHandler.close()
    outHandler.close()
    
    95. Các quy tắc thay thế cho
    import json
    import re
    from pprint import pprint
    import pandas as pd
    
    inHandler = open('get_drivers.txt', 'r')
    outHandler = open('drivers.json', 'w')
    data = ''
    
    
    for line in inHandler.readlines():
        print('src:' + line)
        line = line.replace("}]},","}]},\r")
        data += line
        print('replace:' + line)
        data=data.replace("'", '"')
        data=data.replace(None,"None")
    
    outHandler.write(data)
    
    inHandler.close()
    outHandler.close()
    
    95 là như nhau

  • Các biểu thức chính quy sẽ chỉ thay thế trên các chuỗi, nghĩa là bạn không thể cung cấp, ví dụ: một biểu thức chính quy khớp với các số dấu phẩy động và mong đợi các cột trong khung của bạn có một kiểu số được khớp. Tuy nhiên, nếu các số dấu phẩy động đó là các chuỗi, thì bạn có thể thực hiện việc này

  • Phương pháp này có rất nhiều lựa chọn. Bạn được khuyến khích thử nghiệm và chơi với phương pháp này để có được trực giác về cách thức hoạt động của nó

  • Khi dict được sử dụng làm giá trị to_replace, nó giống như (các) khóa trong dict là phần to_replace và (các) giá trị trong dict là tham số giá trị

ví dụ

Vô hướng `to_replace` và `value`

def replace_none(idx, dim):
    """
    Normalize slices to canonical form, i.e.
    replace ``None`` with the appropriate integers.

    Parameters
    ----------
    idx: slice or other index
    dim: dimension length

    Examples
    --------
    >>> replace_none(slice(None, None, None), 10)
    slice(0, 10, 1)
    """
    if not isinstance(idx, slice):
        return idx

    start, stop, step = idx.start, idx.stop, idx.step

    if step is None:
        step = 1

    if step > 0:
        if start is None:
            start = 0

        if stop is None:
            stop = dim
    else:
        if start is None:
            start = dim - 1

        if stop is None:
            stop = -1

    return slice(start, stop, step) 
1

>>> df = pd.DataFrame({'A': [0, 1, 2, 3, 4],
..                    'B': [5, 6, 7, 8, 9],
..                    'C': ['a', 'b', 'c', 'd', 'e']})
>>> df.replace(0, 5)
    A  B  C
0  5  5  a
1  1  6  b
2  2  7  c
3  3  8  d
4  4  9  e

Giống như danh sách `to_replace`

>>> df.replace([0, 1, 2, 3], 4)
    A  B  C
0  4  5  a
1  4  6  b
2  4  7  c
3  4  8  d
4  4  9  e

Traceback (most recent call last):
  File "parse_get_drivers.py", line 17, in 
    data=data.replace(None,"None")
TypeError: replace() argument 1 must be str, not None
7

import json
import re
from pprint import pprint
import pandas as pd

inHandler = open('get_drivers.txt', 'r')
outHandler = open('drivers.json', 'w')
data = ''


for line in inHandler.readlines():
    print('src:' + line)
    line = line.replace("}]},","}]},\r")
    data += line
    print('replace:' + line)
    data=data.replace("'", '"')
    data=data.replace(None,"None")

outHandler.write(data)

inHandler.close()
outHandler.close()
9

giống như dict `to_replace`

def replace_none(idx, dim):
    """
    Normalize slices to canonical form, i.e.
    replace ``None`` with the appropriate integers.

    Parameters
    ----------
    idx: slice or other index
    dim: dimension length

    Examples
    --------
    >>> replace_none(slice(None, None, None), 10)
    slice(0, 10, 1)
    """
    if not isinstance(idx, slice):
        return idx

    start, stop, step = idx.start, idx.stop, idx.step

    if step is None:
        step = 1

    if step > 0:
        if start is None:
            start = 0

        if stop is None:
            stop = dim
    else:
        if start is None:
            start = dim - 1

        if stop is None:
            stop = -1

    return slice(start, stop, step) 
6

def replace_none(idx, dim):
    """
    Normalize slices to canonical form, i.e.
    replace ``None`` with the appropriate integers.

    Parameters
    ----------
    idx: slice or other index
    dim: dimension length

    Examples
    --------
    >>> replace_none(slice(None, None, None), 10)
    slice(0, 10, 1)
    """
    if not isinstance(idx, slice):
        return idx

    start, stop, step = idx.start, idx.stop, idx.step

    if step is None:
        step = 1

    if step > 0:
        if start is None:
            start = 0

        if stop is None:
            stop = dim
    else:
        if start is None:
            start = dim - 1

        if stop is None:
            stop = -1

    return slice(start, stop, step) 
7

def replace_none(idx, dim):
    """
    Normalize slices to canonical form, i.e.
    replace ``None`` with the appropriate integers.

    Parameters
    ----------
    idx: slice or other index
    dim: dimension length

    Examples
    --------
    >>> replace_none(slice(None, None, None), 10)
    slice(0, 10, 1)
    """
    if not isinstance(idx, slice):
        return idx

    start, stop, step = idx.start, idx.stop, idx.step

    if step is None:
        step = 1

    if step > 0:
        if start is None:
            start = 0

        if stop is None:
            stop = dim
    else:
        if start is None:
            start = dim - 1

        if stop is None:
            stop = -1

    return slice(start, stop, step) 
8

Cụm từ thông dụng `to_replace`

def replace_none(idx, dim):
    """
    Normalize slices to canonical form, i.e.
    replace ``None`` with the appropriate integers.

    Parameters
    ----------
    idx: slice or other index
    dim: dimension length

    Examples
    --------
    >>> replace_none(slice(None, None, None), 10)
    slice(0, 10, 1)
    """
    if not isinstance(idx, slice):
        return idx

    start, stop, step = idx.start, idx.stop, idx.step

    if step is None:
        step = 1

    if step > 0:
        if start is None:
            start = 0

        if stop is None:
            stop = dim
    else:
        if start is None:
            start = dim - 1

        if stop is None:
            stop = -1

    return slice(start, stop, step) 
9

>>> df = pd.DataFrame({'A': [0, 1, 2, 3, 4],
..                    'B': [5, 6, 7, 8, 9],
..                    'C': ['a', 'b', 'c', 'd', 'e']})
>>> df.replace(0, 5)
    A  B  C
0  5  5  a
1  1  6  b
2  2  7  c
3  3  8  d
4  4  9  e
0

>>> df = pd.DataFrame({'A': [0, 1, 2, 3, 4],
..                    'B': [5, 6, 7, 8, 9],
..                    'C': ['a', 'b', 'c', 'd', 'e']})
>>> df.replace(0, 5)
    A  B  C
0  5  5  a
1  1  6  b
2  2  7  c
3  3  8  d
4  4  9  e
0

>>> df = pd.DataFrame({'A': [0, 1, 2, 3, 4],
..                    'B': [5, 6, 7, 8, 9],
..                    'C': ['a', 'b', 'c', 'd', 'e']})
>>> df.replace(0, 5)
    A  B  C
0  5  5  a
1  1  6  b
2  2  7  c
3  3  8  d
4  4  9  e
1

>>> df = pd.DataFrame({'A': [0, 1, 2, 3, 4],
..                    'B': [5, 6, 7, 8, 9],
..                    'C': ['a', 'b', 'c', 'd', 'e']})
>>> df.replace(0, 5)
    A  B  C
0  5  5  a
1  1  6  b
2  2  7  c
3  3  8  d
4  4  9  e
2

So sánh hành vi của

import json
import re
from pprint import pprint
import pandas as pd

inHandler = open('get_drivers.txt', 'r')
outHandler = open('drivers.json', 'w')
data = ''


for line in inHandler.readlines():
    print('src:' + line)
    line = line.replace("}]},","}]},\r")
    data += line
    print('replace:' + line)
    data=data.replace("'", '"')
    data=data.replace(None,"None")

outHandler.write(data)

inHandler.close()
outHandler.close()
97 và
import json
import re
from pprint import pprint
import pandas as pd

inHandler = open('get_drivers.txt', 'r')
outHandler = open('drivers.json', 'w')
data = ''


for line in inHandler.readlines():
    print('src:' + line)
    line = line.replace("}]},","}]},\r")
    data += line
    print('replace:' + line)
    data=data.replace("'", '"')
    data=data.replace(None,"None")

outHandler.write(data)

inHandler.close()
outHandler.close()
98 để hiểu đặc thù của tham số to_replace

>>> df = pd.DataFrame({'A': [0, 1, 2, 3, 4],
..                    'B': [5, 6, 7, 8, 9],
..                    'C': ['a', 'b', 'c', 'd', 'e']})
>>> df.replace(0, 5)
    A  B  C
0  5  5  a
1  1  6  b
2  2  7  c
3  3  8  d
4  4  9  e
3

Khi một người sử dụng một dict làm giá trị to_replace, nó giống như (các) giá trị trong dict bằng với tham số giá trị.

import json
import re
from pprint import pprint
import pandas as pd

inHandler = open('get_drivers.txt', 'r')
outHandler = open('drivers.json', 'w')
data = ''


for line in inHandler.readlines():
    print('src:' + line)
    line = line.replace("}]},","}]},\r")
    data += line
    print('replace:' + line)
    data=data.replace("'", '"')
    data=data.replace(None,"None")

outHandler.write(data)

inHandler.close()
outHandler.close()
97 tương đương với
def replace_none(idx, dim):
    """
    Normalize slices to canonical form, i.e.
    replace ``None`` with the appropriate integers.

    Parameters
    ----------
    idx: slice or other index
    dim: dimension length

    Examples
    --------
    >>> replace_none(slice(None, None, None), 10)
    slice(0, 10, 1)
    """
    if not isinstance(idx, slice):
        return idx

    start, stop, step = idx.start, idx.stop, idx.step

    if step is None:
        step = 1

    if step > 0:
        if start is None:
            start = 0

        if stop is None:
            stop = dim
    else:
        if start is None:
            start = dim - 1

        if stop is None:
            stop = -1

    return slice(start, stop, step) 
60

>>> df = pd.DataFrame({'A': [0, 1, 2, 3, 4],
..                    'B': [5, 6, 7, 8, 9],
..                    'C': ['a', 'b', 'c', 'd', 'e']})
>>> df.replace(0, 5)
    A  B  C
0  5  5  a
1  1  6  b
2  2  7  c
3  3  8  d
4  4  9  e
4

Khi

def replace_none(idx, dim):
    """
    Normalize slices to canonical form, i.e.
    replace ``None`` with the appropriate integers.

    Parameters
    ----------
    idx: slice or other index
    dim: dimension length

    Examples
    --------
    >>> replace_none(slice(None, None, None), 10)
    slice(0, 10, 1)
    """
    if not isinstance(idx, slice):
        return idx

    start, stop, step = idx.start, idx.stop, idx.step

    if step is None:
        step = 1

    if step > 0:
        if start is None:
            start = 0

        if stop is None:
            stop = dim
    else:
        if start is None:
            start = dim - 1

        if stop is None:
            stop = -1

    return slice(start, stop, step) 
61 không được chuyển rõ ràng và to_replace là một vô hướng, danh sách hoặc bộ dữ liệu, thay thế sử dụng tham số phương thức (mặc định là 'pad') để thực hiện thay thế. Vì vậy, đây là lý do tại sao các giá trị 'a' được thay thế bằng 10 ở hàng 1 và 2 và 'b' ở hàng 4 trong trường hợp này

Làm cách nào để thay thế Không có trong từ điển Python?

Để thay thế các giá trị Không có trong từ điển bằng Python. .
Sử dụng đối số từ khóa object_pairs_hook của json. phương thức tải ()
Kiểm tra xem mỗi giá trị mà hàm object_pairs_hook được gọi có phải là Không
Nếu có, hãy thay thế Không bằng giá trị thay thế cụ thể

Làm cách nào để thay thế NaN bằng Không có trong từ điển Python?

Nếu bạn muốn nó được định dạng theo cách mã ban đầu của bạn, bạn có thể thực hiện chuỗi 'NaN'. Và nếu bạn muốn thứ gì đó chẳng hạn như Không, bạn chỉ cần đặt giá trị = thành Không có .

Chuỗi rỗng có thể là một khóa trong từ điển Python không?

Bạn không thể sử dụng chuỗi rỗng . Định dạng giới hạn nghiêm ngặt các khóa đối với các mã định danh Python hợp lệ, có nghĩa là chúng phải có ít nhất 1 chữ cái hoặc dấu gạch dưới ở đầu.

Làm cách nào để xóa giá trị null Không có giá trị nào khỏi từ điển trong Python?

Để xóa Không có giá trị nào khỏi từ điển. Sử dụng vòng lặp for để lặp lại các mục của từ điển. Trên mỗi lần lặp lại, hãy kiểm tra xem giá trị có phải là Không. Nếu giá trị là Không có, hãy xóa khóa tương ứng .