2012-12-15 36 views
8

Tôi mới đến python và có một mảng đơn giản:Python in mảng với dòng mới

op = ['Hello', 'Good Morning', 'Good Evening', 'Good Night', 'Bye'] 

Khi tôi sử dụng pprint, tôi nhận được kết quả này:

['Hello', 'Good Morning', 'Good Evening', 'Good Night', 'Bye'] 

Liệu có cách nào tôi có thể loại bỏ dấu ngoặc kép, dấu phẩy và dấu ngoặc và in trên một dòng riêng biệt. Vì vậy mà đầu ra là như thế này:

Hello 
Good Morning 
Good Evening 
Good Night 
Bye 

Trả lời

5

In nó từng dòng

for word in op: 
    print word 

này có ưu điểm là nếu op sẽ xảy ra là ồ ạt dài, sau đó bạn không cần phải tạo ra một mới chuỗi tạm thời hoàn toàn cho mục đích in ấn.

19

Bạn có thể join các chuỗi với một dòng mới, và in chuỗi kết quả:

print "\n".join(op) 
8

Bạn dường như bị nhầm lẫn. Hãy để tôi giúp bạn làm rõ một số điều trong tâm trí của bạn =)

  1. Trước hết, bạn có một số list, không phải là mảng. Sự khác biệt là danh sách là một cấu trúc dữ liệu linh hoạt và linh hoạt hơn nhiều (trong danh sách các ngôn ngữ động như python). Ví dụ: bạn có thể có nhiều đối tượng thuộc các loại khác nhau (ví dụ: có 2 string s, 3 int s, một socket, v.v.)
  2. Dấu ngoặc kép xung quanh các từ trong danh sách biểu thị rằng chúng là đối tượng thuộc loại string.
  3. Khi bạn thực hiện print op (hoặc print(op) cho vấn đề đó trong python 3+), bạn về cơ bản yêu cầu python hiển thị cho bạn bản trình bày có thể in của đối tượng danh sách cụ thể đó và nội dung của nó. Do đó dấu ngoặc kép, dấu phẩy, dấu ngoặc vuông, v.v.
  4. Trong trăn bạn có vòng lặp rất dễ dàng for each, có thể sử dụng để lặp qua nội dung của các đối tượng có thể lặp lại, chẳng hạn như list. Chỉ cần làm điều này:

for greeting in op: print greeting

Các vấn đề liên quan