Hướng dẫn how do i find the dtype of a list in python? - làm cách nào để tìm loại danh sách trong python?

Vâng

def __contains__(self, typ):
    return any(isinstance(val, typ) for val in self)

print int in MyList([1, "a", 3.4]) # True
print int in MyList(["a", 3.4])    # False
3 thực sự là đường cú pháp cho
def __contains__(self, typ):
    return any(isinstance(val, typ) for val in self)

print int in MyList([1, "a", 3.4]) # True
print int in MyList(["a", 3.4])    # False
4, lặp đi lặp lại trên các nội dung của danh sách.does iterate over the contents of the list.

Nếu bạn muốn sử dụng

def __contains__(self, typ):
    return any(isinstance(val, typ) for val in self)

print int in MyList([1, "a", 3.4]) # True
print int in MyList(["a", 3.4])    # False
3 để kiểm tra các loại thay thế; Bạn có thể thực hiện cấu trúc dữ liệu của riêng mình (phân lớp
def __contains__(self, typ):
    return any(isinstance(val, typ) for val in self)

print int in MyList([1, "a", 3.4]) # True
print int in MyList(["a", 3.4])    # False
6) và ghi đè
def __contains__(self, typ):
    return any(isinstance(val, typ) for val in self)

print int in MyList([1, "a", 3.4]) # True
print int in MyList(["a", 3.4])    # False
4 để kiểm tra các loại:

class MyList(list):
    def __contains__(self, typ):
        for val in self:
            if isinstance(val, typ):
                return True
        return False

x = MyList([1, 2, 'a', 3])

print float in x # False
print str in x   # True

Bạn cũng có thể tận dụng bất kỳ chức năng nào:

def __contains__(self, typ):
    return any(isinstance(val, typ) for val in self)

print int in MyList([1, "a", 3.4]) # True
print int in MyList(["a", 3.4])    # False

Đối với việc điều này có thể thực hiện được mà không kiểm tra mọi yếu tố - không, thì không. Trong trường hợp xấu nhất, cuối cùng bạn sẽ kiểm tra mọi yếu tố.

Sử dụng danh sách python để lưu trữ dữ liệu theo hàng một chiều, truy cập chúng theo các chỉ mục và sắp xếp chúng theo cách bạn thích

Nhà văn cao cấp, Infoworld |InfoWorld |

Hướng dẫn how do i find the dtype of a list in python? - làm cách nào để tìm loại danh sách trong python?
Hình ảnh Monsitj / Getty

Mục lục

Cho xem nhiều hơn

Python đi kèm với một bộ sưu tập các loại dữ liệu tích hợp giúp các hoạt động gắn dữ liệu phổ biến trở nên dễ dàng. Trong số đó có & nbsp; danh sách, một loại thu thập đơn giản nhưng linh hoạt. Với danh sách Python, bạn có thể nhóm các đối tượng Python với nhau theo hàng một chiều cho phép các đối tượng được truy cập bằng vị trí, thêm, loại bỏ, sắp xếp và chia nhỏ.

Danh sách Python những điều cơ bản

Xác định danh sách trong Python rất dễ dàng - chỉ cần sử dụng cú pháp khung để chỉ ra các mục trong danh sách.

list_of_ints = [1, 2, 3]

Các mục trong danh sách cũng không phải là cùng một loại. Họ có thể là bất kỳ đối tượng Python. (Ở đây, giả sử & nbsp; ________ 18 & nbsp; là một hàm.)

list_of_objects = ["One", TWO, Three, {"Four":4}, None]

Lưu ý rằng việc có các đối tượng hỗn hợp trong danh sách có thể có ý nghĩa để sắp xếp danh sách. Chúng tôi sẽ đi vào điều này sau.

Lý do lớn nhất để sử dụng danh sách là để có thể tìm thấy các đối tượng theo vị trí của chúng trong danh sách. Để làm điều này, bạn sử dụng ký hiệu chỉ mục Python, một số trong ngoặc, bắt đầu từ 0, cho biết vị trí của mục trong danh sách.

Đối với ví dụ trên,

def __contains__(self, typ):
    return any(isinstance(val, typ) for val in self)

print int in MyList([1, "a", 3.4]) # True
print int in MyList(["a", 3.4])    # False
9 mang lại
list_of_ints = [1, 2, 3]
0.
list_of_ints = [1, 2, 3]
1 năng suất
list_of_ints = [1, 2, 3]
2.
list_of_ints = [1, 2, 3]
3 sẽ là & nbsp; ____ ____ 24 & nbsp; đối tượng.

Chỉ số danh sách Python

Nếu bạn sử dụng số nguyên dương cho chỉ mục, số nguyên biểu thị vị trí của mục cần tìm. Nhưng nếu bạn sử dụng A & nbsp; âm & nbsp; số nguyên, thì số nguyên biểu thị vị trí bắt đầu từ & nbsp; end & nbsp; của danh sách. Ví dụ: sử dụng chỉ mục

list_of_ints = [1, 2, 3]
5 là một cách tiện dụng để lấy mục cuối cùng từ danh sách bất kể kích thước của danh sách.

list_of_ints = [1, 2, 3]
6 yields 
list_of_ints = [1, 2, 3]
7. 
list_of_ints = [1, 2, 3]
8 yields 
list_of_ints = [1, 2, 3]
4.

Bạn cũng có thể sử dụng một biến số nguyên làm chỉ mục của bạn. If & nbsp; ________ 30, & nbsp; ________ 31 & nbsp; mang lại 1, v.v.

Thêm và xóa các mục danh sách Python

Python có một số cách bạn có thể thêm hoặc xóa các mục khỏi danh sách.

  • ________ 32 & nbsp; chèn một mục tại & nbsp; end & nbsp; của danh sách. Ví dụ:
    list_of_objects = ["One", TWO, Three, {"Four":4}, None]
    3 sẽ biến & nbsp; ________ 34 & nbsp; vào danh sách & nbsp; ________ 35. Bổ sung là nhanh chóng và hiệu quả; Phải mất khoảng thời gian tương tự để nối một mục vào danh sách cho dù danh sách này dài bao nhiêu.
  • ________ 36 & nbsp; Xóa và trả lại mục cuối cùng khỏi danh sách. Nếu chúng tôi chạy & nbsp; ________ 37 & nbsp; trên bản gốc & nbsp; ____ 34, x sẽ chứa giá trị & nbsp; ____ 27 27. .
  • ________ 42 & nbsp; chèn một mục tại một số vị trí tùy ý trong danh sách. Ví dụ: & nbsp; ________ 43 & nbsp; sẽ biến & nbsp; ________ 34 thành
    slice_list = [1,2,3,4,5,6,7,8,9,0]
    slice_list[0:5] = [1, 2, 3, 4, 5]
    5. Lưu ý rằng bạn càng chèn vào mặt trước của danh sách, hoạt động này sẽ càng chậm, mặc dù bạn đã giành được nhiều sự chậm lại trừ khi danh sách của bạn có hàng ngàn yếu tố hoặc bạn đã thực hiện các phần chèn trong một vòng lặp chặt chẽ.
  • ________ 46 & nbsp; loại bỏ mục tại Index & nbsp; ________ 47. Vì vậy, & nbsp; ________ 48 & nbsp; sẽ loại bỏ mục tại INDEX 0. Một lần nữa, bạn càng ở phía trước của danh sách, thao tác này càng chậm.
  • ________ 49 & nbsp; loại bỏ một mục khỏi danh sách, nhưng & nbsp; không & nbsp; dựa trên chỉ mục của nó. Thay vào đó,
    slice_list[0:5:2] = [1, 3, 5]
    0 loại bỏ & nbsp; lần xuất hiện đầu tiên & nbsp; của đối tượng bạn chỉ định, tìm kiếm từ đầu danh sách trở xuống. Cho & nbsp; ________ 51, đầu tiên & nbsp; ________ 52 & nbsp; sẽ bị xóa, dẫn đến danh sách & nbsp; ________ 53. Hoạt động này cũng có thể chậm lại cho một danh sách lớn, vì về mặt lý thuyết, nó phải đi qua toàn bộ danh sách để làm việc.

Cắt một danh sách python

Danh sách có thể được chia thành danh sách mới, một quy trình gọi là & nbsp; cắt. Cú pháp Slice Python cho phép bạn chỉ định phần nào của danh sách để khắc và cách thao tác phần chạm khắc.

Bạn đã thấy ở trên cách sử dụng ký hiệu khung để lấy một mục từ danh sách: ví dụ:

slice_list[0:5:2] = [1, 3, 5]
4. Các lát cắt sử dụng một biến thể của cùng một ký hiệu chỉ mục (và tuân theo cùng một quy tắc lập chỉ mục):
slice_list[0:5:2] = [1, 3, 5]
5.

  • ________ 56 & nbsp; là vị trí trong danh sách để bắt đầu lát cắt. & Nbsp;
  • ________ 57 & nbsp; là vị trí trong danh sách mà chúng tôi ngừng cắt. Nói cách khác, & nbsp; vị trí đó và mọi thứ sau khi nó & nbsp; bị bỏ qua.
  • ________ 58 & nbsp; là một chỉ số tùy chọn của mỗi phần tử thứ n cho lát cắt. Theo mặc định, đây là & nbsp; ____ 20, vì vậy, lát cắt giữ mọi yếu tố từ danh sách mà nó cắt từ. Đặt
    slice_list[0:5:2] = [1, 3, 5]
    8 thành & nbsp; ________ 22 và bạn sẽ chọn từng phần tử thứ hai, v.v.

Dưới đây là một số ví dụ. Xem xét danh sách này:

slice_list = [1,2,3,4,5,6,7,8,9,0]
slice_list[0:5] = [1, 2, 3, 4, 5]

(Lưu ý rằng chúng tôi dừng lại ở INDEX 4, không phải INDEX 5!)

slice_list[0:5:2] = [1, 3, 5]

Nếu bạn bỏ qua một chỉ mục lát cụ thể, Python giả định mặc định. Để lại chỉ số bắt đầu và Python giả định sự khởi đầu của danh sách:

Slice_list [: 5] = [1, 2, 3, 4, 5]

Để lại chỉ số dừng và Python giả định kết thúc danh sách:

slice_list[4:] = [5, 6, 7, 8, 9, 0]

Phần tử & nbsp; ________ 58 & nbsp; cũng có thể là & nbsp; âm. Điều này cho phép chúng tôi lấy các lát cắt được các bản sao của bản gốc:

slice_list[::-1] = [0, 9, 8, 7, 6, 5, 4, 3, 2, 1]

Lưu ý rằng bạn có thể cắt ngược bằng cách sử dụng các chỉ mục bắt đầu và dừng đi ngược, không chuyển tiếp:

slice_list[5:2:-1] = [6, 5, 4]

Ngoài ra, hãy nhớ rằng các lát danh sách là & nbsp; bản sao & nbsp; của danh sách ban đầu. Danh sách ban đầu vẫn không thay đổi. & NBSP;

[Cũng trên Infoworld: Các khóa học khoa học dữ liệu miễn phí tốt nhất trong quá trình kiểm dịch]

Sắp xếp một danh sách python

Python cung cấp hai cách để sắp xếp danh sách: bạn có thể tạo một danh sách mới, được sắp xếp từ danh sách cũ hoặc bạn có thể sắp xếp một danh sách hiện có tại chỗ. Các tùy chọn này có các hành vi khác nhau và các kịch bản sử dụng khác nhau.

Để tạo một danh sách mới, được sắp xếp, sử dụng chức năng & nbsp; ____ ____ 63 & nbsp; trong danh sách cũ:

new_list = sorted(old_list)

Điều này sẽ sắp xếp nội dung của danh sách bằng các phương thức sắp xếp mặc định của Python. Đối với các chuỗi, mặc định là thứ tự bảng chữ cái; Đối với các số, nó có giá trị tăng dần. Lưu ý rằng nội dung của danh sách cần phải phù hợp để điều này hoạt động. Chẳng hạn, bạn có thể sắp xếp hỗn hợp các số nguyên và chuỗi, nhưng bạn có thể sắp xếp một danh sách là tất cả các số nguyên hoặc tất cả các chuỗi. Nếu không, bạn sẽ nhận được a & nbsp; ________ 64 & nbsp; trong hoạt động sắp xếp.

Nếu bạn muốn sắp xếp một danh sách ngược lại, hãy vượt qua & nbsp; ________ 65 & nbsp; tham số:

def __contains__(self, typ):
    return any(isinstance(val, typ) for val in self)

print int in MyList([1, "a", 3.4]) # True
print int in MyList(["a", 3.4])    # False
0

Cách khác để sắp xếp, & nbsp; tại chỗ & nbsp; Sắp xếp, thực hiện hoạt động sắp xếp trực tiếp trong danh sách ban đầu. Để thực hiện việc này, hãy sử dụng danh sách & NBSP; ________ 66Method:

def __contains__(self, typ):
    return any(isinstance(val, typ) for val in self)

print int in MyList([1, "a", 3.4]) # True
print int in MyList(["a", 3.4])    # False
1

________ 66 & nbsp; cũng lấy & nbsp; ________ 65 & nbsp; làm tham số, cho phép bạn sắp xếp ngược lại.

Cả & nbsp; ________ 63 & nbsp; và & nbsp; ________ 66 & nbsp; cũng lấy tham số A & nbsp; Tham số

slice_list[::-1] = [0, 9, 8, 7, 6, 5, 4, 3, 2, 1]
1 cho phép bạn cung cấp một chức năng có thể được sử dụng để thực hiện thao tác sắp xếp tùy chỉnh. Khi danh sách được sắp xếp, mỗi phần tử được chuyển cho & nbsp; ________ 71 & nbsp; hàm và giá trị kết quả được sử dụng để sắp xếp. Chẳng hạn, nếu chúng ta có một hỗn hợp các số nguyên và chuỗi, và chúng ta muốn sắp xếp chúng, chúng ta có thể sử dụng & nbsp; ________ 71 & nbsp; như thế này:

def __contains__(self, typ):
    return any(isinstance(val, typ) for val in self)

print int in MyList([1, "a", 3.4]) # True
print int in MyList(["a", 3.4])    # False
2

Lưu ý rằng mã này sẽ không được & nbsp; chuyển đổi & nbsp; mỗi yếu tố của danh sách thành một số nguyên! Thay vào đó, nó sẽ sử dụng số nguyên & nbsp; value & nbsp; của mỗi mục làm giá trị sắp xếp của nó. Cũng lưu ý cách chúng tôi sử dụng A & nbsp; ________ 75 & nbsp; chặn để bẫy bất kỳ giá trị nào mà don don dịch sạch thành một số nguyên và return & nbsp; ________ 76 & nbsp; cho chúng theo mặc định.

Danh sách Python không phải là mảng

Một điều quan trọng cần biết về các danh sách trong Python là họ không phải là mảng. Các ngôn ngữ khác, như C, có các cấu trúc một chiều hoặc đa chiều được gọi là mảng chấp nhận các giá trị của một loại. Danh sách là không đồng nhất; Họ có thể chấp nhận các đối tượng thuộc bất kỳ loại nào.

Hơn thế nữa, có & nbsp; is & nbsp; riêng & nbsp; ________ 77 & nbsp; gõ vào python. Python ________ 77 & nbsp; được thiết kế để mô phỏng hành vi của một mảng trong C, và nó có nghĩa là chủ yếu cho phép Python hoạt động với các mảng C. Loại & nbsp; ____ 77 & nbsp; loại hữu ích trong các trường hợp đó, nhưng trong hầu hết các trường hợp python thuần túy, bạn sẽ muốn sử dụng danh sách.

Khi nào nên sử dụng danh sách Python (và khi nào không)

Vậy khi nào danh sách Python hữu ích nhất? Một danh sách là tốt nhất khi:

  • Bạn cần tìm mọi thứ một cách nhanh chóng bởi & nbsp; vị trí & nbsp; trong một bộ sưu tập. Việc truy cập bất kỳ vị trí nào trong danh sách mất cùng một khoảng thời gian, do đó, không có hình phạt hiệu suất để tìm kiếm ngay cả mục thứ triệu trong danh sách.
  • Bạn có thể thêm và loại bỏ vào bộ sưu tập chủ yếu bằng cách nối vào cuối hoặc loại bỏ từ cuối, theo cách của một ngăn xếp. Một lần nữa, các hoạt động này mất cùng một khoảng thời gian bất kể độ dài của danh sách.

Danh sách Python ít phù hợp hơn khi:

  • Bạn muốn tìm một mục trong danh sách, nhưng bạn không biết vị trí của nó. Bạn & nbsp; có thể & nbsp; làm điều này với & nbsp; ________ 80 & nbsp; tài sản. Chẳng hạn, bạn có thể sử dụng & nbsp; ________ 81 để tìm chỉ số của lần xuất hiện đầu tiên của số & nbsp; ________ 20 & nbsp; in & nbsp; ________ 34. Tốc độ không phải là vấn đề nếu danh sách của bạn chỉ dài một vài mục, nhưng đối với danh sách dài hàng ngàn mục, điều đó có nghĩa là Python phải tìm kiếm toàn bộ danh sách. Đối với một kịch bản như thế này, hãy sử dụng từ điển, trong đó mỗi mục có thể được tìm thấy bằng cách sử dụng một khóa và nơi thời gian tra cứu sẽ giống nhau cho mỗi giá trị.
  • Bạn muốn thêm hoặc xóa các mục khỏi bất kỳ vị trí nào trừ kết thúc. Mỗi lần bạn làm điều này, Python phải di chuyển & nbsp; mọi mục khác sau & nbsp; mục được thêm hoặc bị loại bỏ. Danh sách càng dài, vấn đề hiệu suất này càng lớn. Python sườn & nbsp; ________ 84 & nbsp; đối tượng phù hợp hơn nếu bạn muốn thêm hoặc xóa các đối tượng một cách tự do từ đầu hoặc cuối danh sách.

Cách làm nhiều hơn với Python

  • Cách đóng gói các ứng dụng Python với BEEEWARE CREMCASE
  • Cách chạy Anaconda cạnh nhau với các con trăn khác
  • Cách sử dụng DataClasses Python
  • Bắt đầu với Async trong Python
  • Cách sử dụng Asyncio trong Python
  • 3 bước để đại tu Async Python
  • Cách sử dụng pyinstaller để tạo Python Executables
  • Hướng dẫn Cython: Cách tăng tốc Python
  • Cách cài đặt Python theo cách thông minh
  • Cách quản lý các dự án Python với thơ
  • Cách quản lý các dự án python với pipenv
  • VirtualEnv và Venv: Môi trường ảo Python được giải thích
  • Python Virtualenv và Venv Do, và don
  • Python ren và các quy trình con được giải thích
  • Cách sử dụng Trình gỡ lỗi Python
  • Cách sử dụng TimeIt để hồ sơ mã Python
  • Cách sử dụng CPROFILE để cấu hình mã Python
  • Cách chuyển đổi Python thành JavaScript (và trở lại)

Serdar Yegulalp là một nhà văn cao cấp tại Infoworld, tập trung vào học máy, container hóa, devops, hệ sinh thái Python và đánh giá định kỳ.

Bản quyền © 2020 IDG Communications, Inc.

Làm thế nào để bạn tìm thấy dtype của một danh sách?

Cách đơn giản nhất để kiểm tra xem một đối tượng thuộc danh sách loại là sử dụng hàm loại tích hợp () của Python trả về loại đối tượng được truyền vào nó. Sau đó, bạn có thể sử dụng toán tử bình đẳng để so sánh loại kết quả của đối tượng với danh sách bằng cách sử dụng danh sách loại biểu thức (đối tượng) ==.use Python's built-in type() function that returns the type of the object passed into it. You can then use the equality operator to compare the resulting type of the object with the list using the expression type(object) == list .

Làm thế nào để bạn kiểm tra loại phần tử trong danh sách Python?

Tìm kiếm loại của một yếu tố trong danh sách Python Câu trả lời mã..
Loại (Mylist [3]) #Int ..
Loại (Mylist [1]) #Str ..
Loại (Mylist [-2]) #List ..
Loại (Mylist [-2] [1]) #Str ..

Kiểu dữ liệu của danh sách trong Python là gì?

Danh sách.Danh sách được sử dụng để lưu trữ nhiều mục trong một biến duy nhất.Danh sách là một trong 4 loại dữ liệu tích hợp trong Python được sử dụng để lưu trữ các bộ sưu tập dữ liệu, 3 loại khác là tuple, set và từ điển, tất cả đều có phẩm chất và cách sử dụng khác nhau.one of 4 built-in data types in Python used to store collections of data, the other 3 are Tuple, Set, and Dictionary, all with different qualities and usage.

Làm thế nào để bạn chỉ định các loại dữ liệu trong danh sách Python?

Xác định danh sách trong Python rất dễ dàng - chỉ cần sử dụng cú pháp khung để chỉ ra các mục trong danh sách.Các mục trong danh sách cũng không phải là cùng một loại.Họ có thể là bất kỳ đối tượng Python.use the bracket syntax to indicate items in a list. Items in a list do not have to all be the same type, either. They can be any Python object.