Hướng dẫn how do you put quotes in every item in a list python? - làm thế nào để bạn đặt dấu ngoặc kép trong mọi mục trong một python 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ố.

Hướng dẫn how do you put quotes in every item in a list python? - làm thế nào để bạn đặt dấu ngoặc kép trong mọi mục trong một python danh sách?

crizcraig

8.0185 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)
0 của bạn và trích dẫn các 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àng428 Huy hiệu bạc487 Huy hiệu đồng52 gold badges428 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.0185 Huy hiệu vàng53 Huy hiệu bạc52 Huy hiệu Đồng5 gold badges53 silver badges52 bronze badges

Trong kịch bản Python, tôi có một chuỗi ABC = [9874,209384,20938]]

Tôi muốn đầu ra là ABC = ["9874", "209384", "20938"]]

Những nỗ lực của tôi đã giúp tôi "9874" "209384" "20938"

Nhưng tôi muốn như thế này ["9874", "209384", "20938"]

Đã hỏi ngày 7 tháng 5 năm 2019 lúc 22:37May 7, 2019 at 22:37

Hướng dẫn how do you put quotes in every item in a list python? - làm thế nào để bạn đặt dấu ngoặc kép trong mọi mục trong một python danh sách?

bruce_karlobruce_karlobruce_karlo

131 huy hiệu vàng1 huy hiệu bạc2 huy hiệu đồng1 gold badge1 silver badge2 bronze badges

1

  • Dải
    SELECT * FROM foo WHERE bar IN (a, b, c, d)
    
    1:
    SELECT * FROM foo WHERE bar IN (a, b, c, d)
    
    2
  • Chia trên
    SELECT * FROM foo WHERE bar IN (a, b, c, d)
    
    3:
    SELECT * FROM foo WHERE bar IN (a, b, c, d)
    
    4
  • Khung mỗi phần tử với
    SELECT * FROM foo WHERE bar IN (a, b, c, d)
    
    5:
    SELECT * FROM foo WHERE bar IN (a, b, c, d)
    
    6
  • Tham gia với
    SELECT * FROM foo WHERE bar IN (a, b, c, d)
    
    3:
    SELECT * FROM foo WHERE bar IN (a, b, c, d)
    
    8
  • Thêm
    SELECT * FROM foo WHERE bar IN (a, b, c, d)
    
    1:
    SELECT * FROM foo WHERE bar IN ('a', 'b', 'c', 'd')
    
    0

TL;DR:

'['+','.join(['"'+x+'"' for x in abc[1:-1].split(',')])+']'

Đã trả lời ngày 8 tháng 5 năm 2019 lúc 7:39May 8, 2019 at 7:39

Hướng dẫn how do you put quotes in every item in a list python? - làm thế nào để bạn đặt dấu ngoặc kép trong mọi mục trong một python danh sách?

Xenoidxenoidxenoid

9.4383 huy hiệu vàng19 Huy hiệu bạc31 Huy hiệu đồng3 gold badges19 silver badges31 bronze badges

Thật khó để nói những gì bạn muốn vì câu hỏi của bạn không chính xác, một cái gì đó như thế này?

abc = [9874,209384,20938]

abc_str = []
for n in abc:
    abc_str.append(str(n))

print(abc_str)

Đã trả lời ngày 8 tháng 5 năm 2019 lúc 2:03May 8, 2019 at 2:03

Hướng dẫn how do you put quotes in every item in a list python? - làm thế nào để bạn đặt dấu ngoặc kép trong mọi mục trong một python danh sách?

Có lẽ điều này

Đối với i trong phạm vi (LEN (ABC)): ABC [i] = str (abc [i])

Đã trả lời ngày 8 tháng 5 năm 2019 lúc 3:25May 8, 2019 at 3:25

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 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 sử dụng nhiều trích dẫn 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 thế nào để bạn viết 3 trích dẫn trong Python?

Các chuỗi kéo dài trên nhiều dòng có thể được thực hiện bằng cách sử dụng trích dẫn ba của Python.Nó cũng có thể được sử dụng cho các bình luận dài trong mã.Các ký tự đặc biệt như tab, nguyên văn hoặc newlines cũng có thể được sử dụng trong các trích dẫn ba.Như cái tên cho thấy cú pháp của nó bao gồm ba trích dẫn đơn hoặc kép liên tiếp.. It can also be used for long comments in code. Special characters like TABs, verbatim or NEWLINEs can also be used within the triple quotes. As the name suggests its syntax consists of three consecutive single or double-quotes.

Làm thế nào để bạn thêm dấu ngoặc kép để in trong Python?

Sử dụng ký tự Escape để in các trích dẫn đơn và đôi sử dụng ký tự thoát \ trước các trích dẫn kép hoặc đơn để đưa chúng vào chuỗi.Use the escape character \ before double or single quotes to include them in the string.