Толь бичигт элемент нэмж, Python дахь толь бичигт нэгдэх

Бизнес эрхэлдэг

Энэ хэсэгт толь бичигт хэрхэн шинэ элемент нэмэх (dict төрлийн объект) эсвэл Python дахь одоо байгаа элементийн утгыг шинэчлэх талаар тайлбарласан болно. Олон толь бичгүүдийг нэгтгэх (нэгтгэх, нэгтгэх) боломжтой.

  • Түлхүүрүүдийг зааж толь бичигт элемент нэмэх, шинэчлэх.
  • Олон толь бичгүүдийг нэгтгэх (нэгтгэх): шинэчлэх (), | оператор, | = оператор
  • Олон элемент нэмэх эсвэл шинэчлэх: update (), | = оператор

Түлхүүрүүдийг зааж толь бичигт элемент нэмэх, шинэчлэх.

Та толь бичгийн элементүүдийг дараах байдлаар нэмж / шинэчлэх боломжтой.

Толь бичгийн объект [түлхүүр] = утга

Байхгүй түлхүүрийг зааж өгөхөд шинэ элемент нэмэгдэх бөгөөд одоо байгаа түлхүүрийг зааж өгөхөд одоо байгаа утгыг шинэчлэн (дарж бичнэ).

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print(d)
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3}

Хэрэв та байгаа түлхүүрийн утгыг шинэчлэхийг хүсэхгүй байвал setdefault () аргыг ашиглаарай.

Олон толь бичгүүдийг нэгтгэх (нэгтгэх): шинэчлэх (), | оператор, | = оператор

update()

Хэрэв толь бичгийн өөр объектыг толь бичгийн объектын () шинэчлэх аргумент болгон зааж өгсөн бол түүний бүх элементүүд нэмэгдэх болно.

Хэрэв товчлуур нь одоо байгаа түлхүүртэй давхцаж байвал нэмэлт өгөгдлийн толь бичгийн утгыг дарж бичнэ.

d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}

d1.update(d2)
print(d1)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}

Шинэчлэлт () аргументэд олон толь бичгийг зааж өгөх нь алдаа юм.

d1 = {'k1': 1, 'k2': 2}
d2 = {'k3': 3, 'k4': 4}
d3 = {'k5': 5, 'k6': 6}

# d1.update(d2, d3)
# TypeError: update expected at most 1 arguments, got 2

Дараа тайлбарласны дагуу update () нь шинэ элементүүдийг түлхүүр үгний нэмэлт өгөгдлүүд болгон нэмж болно (key = value), тиймээс толь бичигт ** нэмж оруулаад элемент бүрийг түлхүүр үгний аргумент болгон өргөжүүлээд дамжуулаарай.

d1.update(**d2, **d3)
print(d1)
# {'k1': 1, 'k2': 2, 'k3': 3, 'k4': 4, 'k5': 5, 'k6': 6}

Өмнөх жишээнүүдийн адил update () -ийг ашигласнаар анхны толь бичгийн объектыг шинэчлэх болно.

Хэрэв та олон толь бичгийг нэгтгэн шинэ толь бичиг үүсгэхийг хүсвэл {** d1, ** d2} (Python 3.5-аас) эсвэл dict (** d1, ** d2) ашиглана уу.

Python 3.9 ба түүнээс дээш хувилбаруудад | ашиглан шинэ толь бичиг үүсгэх боломжтой операторыг дараа нь тайлбарлав.

| оператор, | = оператор (Python 3.9 ба түүнээс дээш)

Python 3.9 тул |. Ашиглан хоёр толь бичгийг нэгтгэх боломжтой оператор. Хоёр толь бичиг ижил түлхүүртэй байх үед баруун талын утга тэргүүлэх ач холбогдолтой болно.

d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}

print(d1 | d2)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}

print(d2 | d1)
# {'k1': 1, 'k3': 3, 'k4': 4, 'k2': 2}

| Цуврал операторуудыг ашиглан олон толь бичгийг нэгтгэх боломжтой.

d1 = {'k1': 1, 'k2': 2}
d2 = {'k3': 3, 'k4': 4}
d3 = {'k5': 5, 'k6': 6}

print(d1 | d2 | d3)
# {'k1': 1, 'k2': 2, 'k3': 3, 'k4': 4, 'k5': 5, 'k6': 6}

+ Шинэчлэлт () -тэй адил зүүн талын объект шинэчлэгддэг.

d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}

d1 |= d2
print(d1)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}

Олон элемент нэмэх эсвэл шинэчлэх: update (), | = оператор

update()

Түлхүүр үг аргумент түлхүүр = утгыг шинэчлэх () аргад зааж өгөх үед түлхүүр түлхүүр ба утгын утга нэмэгдэх болно. Хэрэв товчлуур нь одоо байгаа товчлууртай давхцаж байвал нэмэлт өгөгдлөөр заасан утгыг дарж бичих болно.

d = {'k1': 1, 'k2': 2}

d.update(k1=100, k3=3, k4=4)
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}

Мөн шинэчлэх () аргын аргумент болгон (түлхүүр, утга) жагсаалтыг зааж өгөх боломжтой. Хэрэв товчлуур нь одоо байгаа товчлууртай давхцаж байвал үүнийг нэмэлт өгөгдлөөр зааж өгсөн утга дээр дарж бичнэ.

d = {'k1': 1, 'k2': 2}

d.update([('k1', 100), ('k3', 3), ('k4', 4)])
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}

Zip () функцтэй хослуулан элементүүдийг товчлуурын жагсаалт болон утгын жагсаалтаас нэмж болно.

d = {'k1': 1, 'k2': 2}

keys = ['k1', 'k3', 'k4']
values = [100, 3, 4]

d.update(zip(keys, values))
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}

| = оператор (Python 3.9 ба түүнээс дээш)

| = Операторын тусламжтайгаар баруун талд (түлхүүр, утга) жагсаалтыг зааж өгч болно.

d = {'k1': 1, 'k2': 2}

d |= [('k1', 100), ('k3', 3), ('k4', 4)]
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}

Жагсаалтыг зааж өгөхийг анхаарна уу оператор алдаа гаргана. Зөвхөн толь бичгээс толь бичих үйл ажиллагааг дэмждэг.

# print(d | [('k1', 100), ('k3', 3), ('k4', 4)])
# TypeError: unsupported operand type(s) for |: 'dict' and 'list'
Copied title and URL