Hoặc có cách nào tốt hơn để xuất nhanh nội dung của một mảng (đa chiều hay không). Cảm ơn.
Hoặc có cách nào tốt hơn để xuất nhanh nội dung của một mảng (đa chiều hay không). Cảm ơn.
Câu trả lời:
Câu lệnh python print thực hiện tốt công việc định dạng mảng đa thời gian mà không yêu cầu print_r có sẵn trong php.
Vì định nghĩa cho print nói rằng mỗi đối tượng được chuyển đổi thành một chuỗi và khi các mảng đơn giản in dấu '[' theo sau là danh sách các giá trị đối tượng được phân tách bằng dấu phẩy theo sau dấu ']', điều này sẽ hoạt động đối với mọi độ sâu và hình dạng của mảng .
Ví dụ
>>> x = [[1,2,3],[4,5,6]]
>>> print x
[[1, 2, 3], [4, 5, 6]]
Nếu bạn cần định dạng nâng cao hơn thế này, câu trả lời của AJ đề xuất pprint có lẽ là cách tốt nhất.
Bạn đang tìm kiếm hàm repr
bult-in.
http://docs.python.org/2/library/functions.html#func-repr
print repr(variable)
Trong Python 3, print
không còn là một câu lệnh, vì vậy đó sẽ là:
print( repr(variable) )
from pprint import pprint
student = {'Student1': { 'Age':10, 'Roll':1 },
'Student2': { 'Age':12, 'Roll':2 },
'Student3': { 'Age':11, 'Roll':3 },
'Student4': { 'Age':13, 'Roll':4 },
'Student5': { 'Age':10, 'Roll':5 }
}
pprint(student)
đây là một trong những bạn có thể thử:
https://github.com/sha256/python-var-dump
bạn có thể cài đặt nó đơn giản bằng cách sử dụng pip
pip install var_dump
tuyên bố từ chối trách nhiệm: Tôi đã viết nó :)
print
và pprint
rất phù hợp cho các lớp hoặc kiểu dữ liệu tích hợp sẵn để xác định một biểu diễn đối tượng lành mạnh. Nếu bạn muốn có đầy đủ các đối tượng tùy ý, bạn sẽ phải cuộn của riêng bạn. Điều đó không khó lắm: chỉ cần tạo một hàm đệ quy với trường hợp cơ sở là bất kỳ kiểu dữ liệu tích hợp sẵn không chứa vùng chứa nào và trường hợp đệ quy áp dụng hàm cho từng mục của vùng chứa hoặc từng thuộc tính của đối tượng, có thể nhận được sử dụng dir()
hoặc inspect
mô-đun.
có print_r cho python https://github.com/marcbelmont/python-print_r/wiki nhưng tốt hơn là sử dụng các mô-đun tiêu chuẩn
my_list = list(enumerate([1,2,3,4,5,6,7,8,9],0))
print(my_list)
Sẽ in [(0, 1), (1, 2), (2, 3), (3, 4), (4, 5), (5, 6), (6, 7), (7, 8) , (8, 9)]
nếu bạn muốn định dạng dưới dạng variable
chuỗi, bạn có thể làm:
s = repr(variable)
nó hoạt động bất kể loại và không yêu cầu bất kỳ nhập khẩu nào.
Nếu bạn muốn bao gồm nội dung của một đối tượng trong một chuỗi cùng với kiểu của nó:
if hasattr(variable, "__dict__"):
s = "{}: {}".format(variable, vars(variable))
else:
s = repr(variable)
Đối với các chế độ xem thử nghiệm đơn giản, tôi sử dụng HttpResponse. Yêu cầu kiểm tra từ biểu mẫu, biến, chuỗi, id, không phải Đối tượng
from django.http.response import HttpResponse
HttpResponse(variable)
def add_comment(request, id):
return HttpResponse(id)