Hướng dẫn python add quotes to string in list - python thêm dấu ngoặc kép vào chuỗi trong danh sách

53

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 rất mới với Python. Tôi cần một tập lệnh đơn giản và rõ ràng để thêm báo giá cho mọi yếu tố danh sách. Hãy để tôi giải thích thêm. Đây là mã của tôi.

parameters = ['a', 'b', 'c']
query = "SELECT * FROM foo WHERE bar IN [%s]" % [', '.join[parameters]]

Tôi muốn sử dụng điều này để truy vấn. Nhưng kết quả là truy vấn không hợp lệ. Đây là kết quả.

SELECT * FROM foo WHERE bar IN [a, b, c, d]

Tôi muốn thích điều này:

SELECT * FROM foo WHERE bar IN ['a', 'b', 'c', 'd']

Làm thế nào để thêm dấu ngoặc kép trong khi tham gia các yếu tố.

crizcraig

8.0285 Huy hiệu vàng53 Huy hiệu bạc52 Huy hiệu Đồng5 gold badges53 silver badges52 bronze badges

hỏi ngày 19 tháng 7 năm 2011 lúc 0:59Jul 19, 2011 at 0:59

3

Một giải pháp ngây thơ sẽ được lặp lại trong danh sách

SELECT * FROM foo WHERE bar IN [a, b, c, d]
6 của bạn và trích dẫn trích dẫn vào đầu và cuối của mỗi yếu tố:

[', '.join['"' + item + '"' for item in parameters]]

Lưu ý: Điều này dễ bị tiêm SQL [dù là trùng hợp hay có chủ ý]. Một giải pháp tốt hơn là để cho báo giá cơ sở dữ liệu và chèn các giá trị sau:

query = "SELECT * FROM foo WHERE bar IN [%s]" % ','.join['?' * len[params]]
cursor.execute[query, params]

Nó dễ dàng hơn để đọc và xử lý trích dẫn đúng cách.

Đã trả lời ngày 19 tháng 7 năm 2011 lúc 1:06Jul 19, 2011 at 1:06

BlenderBlenderBlender

281K52 Huy hiệu vàng429 Huy hiệu bạc487 Huy hiệu đồng52 gold badges429 silver badges487 bronze badges

9

Đối với các tham số đơn giản, những điều sau đây sẽ hoạt động:

query = "SELECT * FROM foo WHERE bar IN %s" % repr[tuple[map[str,parameters]]]

Điều này có thể bị phá vỡ khi chính các tên tham số bao gồm các trích dẫn, vì các quy tắc thoát là khác nhau.

Đã trả lời ngày 19 tháng 7 năm 2011 lúc 1:07Jul 19, 2011 at 1:07

Sam Rubysam RubySam Ruby

4.17020 Huy hiệu bạc19 Huy hiệu đồng20 silver badges19 bronze badges

5

Như bạn đã hỏi, hãy sử dụng điều này:

parameters = ['a', 'b', 'c']
', '.join[map[lambda x: "'" + x + "'", parameters]]

Vì bạn đang tạo truy vấn SQL, vui lòng sử dụng các tính năng của thư viện cơ sở dữ liệu về vệ sinh đầu vào [ví dụ cho MySQLDB]. Bạn không muốn kết thúc với một vấn đề như Bobby Table.

Đã trả lời ngày 19 tháng 7 năm 2011 lúc 1:05Jul 19, 2011 at 1:05

Robertrobertrobert

32K8 Huy hiệu vàng52 Huy hiệu bạc72 Huy hiệu đồng8 gold badges52 silver badges72 bronze badges

5

Nói chung [bỏ qua SQL]

In [3]: print[' '.join['"%s"' % x for x in ['a', 'b']]]                                                                                                                                              
"a" "b"

Đã trả lời ngày 20 tháng 3 năm 2019 lúc 22:06Mar 20, 2019 at 22:06

crizcraigcrizcraigcrizCraig

8.0285 Huy hiệu vàng53 Huy hiệu bạc52 Huy hiệu Đồng5 gold badges53 silver badges52 bronze badges

Thêm báo giá vào một chuỗi trong python #

Để thêm báo giá vào một chuỗi trong Python:

  1. Thay thế giữa trích dẫn đơn và đôi.
  2. Ví dụ: để thêm dấu ngoặc kép vào một chuỗi, bọc chuỗi trong các trích dẫn đơn.
  3. Để thêm trích dẫn đơn vào một chuỗi, hãy bọc chuỗi trong các trích dẫn kép.

________số 8

Ví dụ đầu tiên trong đoạn mã thay thế giữa các trích dẫn đơn và đôi.

Copied!

result_1 = '"apple"'

Nếu một chuỗi được bọc trong các báo giá đơn, chúng ta có thể sử dụng dấu ngoặc kép trong chuỗi mà không có bất kỳ vấn đề nào.

Tuy nhiên, nếu chúng ta cố gắng sử dụng các trích dẫn đơn trong một chuỗi được bọc trong các trích dẫn đơn, chúng ta sẽ chấm dứt chuỗi sớm.

Nếu bạn cần thêm trích dẫn đơn vào một chuỗi, hãy bọc chuỗi trong dấu ngoặc kép.

SELECT * FROM foo WHERE bar IN [a, b, c, d]
0

Trong một số trường hợp hiếm hoi, chuỗi của bạn có thể chứa cả trích dẫn đơn và đôi. Để có được xung quanh này, hãy sử dụng một chuỗi được trích dẫn ba.

SELECT * FROM foo WHERE bar IN [a, b, c, d]
1

Chuỗi ba quotes rất giống với các chuỗi cơ bản mà chúng tôi khai báo bằng cách sử dụng trích dẫn đơn hoặc đôi.

Nhưng họ cũng cho phép chúng tôi:

  • Sử dụng trích dẫn đơn và đôi trong cùng một chuỗi mà không cần thoát
  • Xác định một chuỗi đa dòng mà không cần thêm các ký tự dòng mới

SELECT * FROM foo WHERE bar IN [a, b, c, d]
2

Chuỗi trong ví dụ trên sử dụng cả trích dẫn đơn và đôi và không phải thoát khỏi bất cứ điều gì.

Kết thúc của các dòng được tự động bao gồm trong các chuỗi được trích xuất ba, vì vậy chúng tôi không phải thêm một ký tự mới ở cuối.

Một giải pháp thay thế là sử dụng một chuỗi được định dạng theo nghĩa đen.

SELECT * FROM foo WHERE bar IN [a, b, c, d]
3

Lưu ý rằng chúng tôi vẫn phải xen kẽ giữa các trích dẫn đơn và đôi.

Các chuỗi chữ được định dạng [F-Strings] Hãy cho chúng tôi bao gồm các biểu thức bên trong chuỗi bằng cách tiền tố chuỗi với

SELECT * FROM foo WHERE bar IN [a, b, c, d]
7.

SELECT * FROM foo WHERE bar IN [a, b, c, d]
4

Hãy chắc chắn để bọc các biểu thức trong niềng răng xoăn -

SELECT * FROM foo WHERE bar IN [a, b, c, d]
8.

Bạn cũng có thể sử dụng dấu gạch chéo ngược

SELECT * FROM foo WHERE bar IN [a, b, c, d]
9 để thoát khỏi trích dẫn.

SELECT * FROM foo WHERE bar IN [a, b, c, d]
5

Trong hầu hết các trường hợp, thích hợp hơn [và dễ đọc hơn] để xen kẽ giữa các trích dẫn đơn và đôi, nhưng trích dẫn thoát cũng có thể hữu ích [ví dụ: trong các trường hợp hiếm hoi trong chuỗi JSON].

Làm thế nào để bạn thêm trích dẫn vào một danh sách trong Python?

. ....
Để chọn nit, bạn không cần danh sách [] ở đây: [',' .join ['"' + item + '"' cho mục trong các tham số]] ....
@Blender Không, một danh sách không thoát khỏi biểu thức đó. ....
@Agf, cảm ơn vì thông tin ..

Làm thế nào để bạn thêm trích dẫn vào một chuỗi trong Python?

Python có hai cách đơn giản để đặt các ký hiệu báo giá vào chuỗi ...
Bạn được phép bắt đầu và kết thúc một chuỗi theo nghĩa đen với các trích dẫn đơn [còn được gọi là dấu nháy đơn], như 'blah blah'.Sau đó, trích dẫn đôi có thể đi vào giữa, chẳng hạn như 'Tôi đã nói "Wow!"cho anh ta.....
Bạn có thể đặt một ký tự dấu gạch chéo ngược theo sau là một trích dẫn [\ "hoặc \ '] ..

Làm cách nào để đặt dấu ngoặc kép trong một chuỗi trong Python?

Trong một chuỗi được đặt trong các trích dẫn kép ", có thể sử dụng các trích dẫn đơn lẻ, nhưng trích dẫn kép" phải được thoát bằng dấu gạch chéo ngược và được viết là \ ". Không có vấn đề gì nếu bạn viết \ 'cho các trích dẫn đơn'.must be escaped with a backslash and written as \" . There is no problem if you write \' for single quotes ' .

Làm thế nào để bạn thêm báo giá vào một chuỗi?

Để đặt dấu ngoặc kép vào một chuỗi trong mã của bạn..
Trong Visual Basic, chèn hai dấu ngoặc kép liên tiếp như một dấu ngoặc kép nhúng.....
Chèn ký tự ASCII hoặc Unicode cho một dấu ngoặc kép.....
Bạn cũng có thể xác định một hằng số cho nhân vật và sử dụng nó khi cần thiết ..

Bài Viết Liên Quan

Chủ Đề