Bộ sưu tập cấu trúc dữ liệu giống như danh sách.Deque cung cấp điều này theo mặc định thông qua đối số NO___TRANS___PRE___3.
from collections import deque
numbers = "1 2 3 4 5 6 7 8 9 10 11 12 13"
arr = list[map[int, numbers.split[]]]
arr_bounded = deque[map[int, numbers.split[]], maxlen=10]
print["Unlimited:", arr]
print["Limit__10:", arr_bounded]
Đầu ra
Unlimited: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
Limit__10: deque[[4, 5, 6, 7, 8, 9, 10, 11, 12, 13], maxlen=10]
Trong Python, danh sách là các thùng chứa quan trọng vì chúng lưu trữ tất cả các loại dữ liệu dưới dạng bộ sưu tập. Nó có thể chứa tới 536.870.912 mục trong hệ thống 32 bit.
Câu trả lời được đề xuất
Chào Bumsfeld,
Tôi tin rằng cấu trúc dữ liệu mảng trong gói số/numpy vừa được đánh máy vừa không thể chống lại, giống như các mảng C [thực tế, tôi khá chắc chắn rằng các cấu trúc dữ liệu này là mảng C đội mũ python]. Thủ tục thanh toán:
//numeric.scipy.org
Nhảy để đăng
Cảm ơn G-Do cho thông tin của bạn, vì vậy Numpy cuối cùng đã thay thế Numeric và Numarray. Thú vị!
Nhảy để đăng
Tất cả 5 câu trả lời
G-DO19 Poster Junior 19 Junior Poster Chào Bumsfeld, Tôi tin rằng cấu trúc dữ liệu mảng trong gói số/numpy vừa được đánh máy vừa không thể chống lại, giống như các mảng C [thực tế, tôi khá chắc chắn rằng các cấu trúc dữ liệu này là mảng C đội mũ python]. Thủ tục thanh toán: //numeric.scipy.org
Vegaseat1.735 đồng nghiệp của Đội đạo đức giả của Daniweb 1,735 DaniWeb's Hypocrite
Team Colleague Chào Bumsfeld, Tôi tin rằng cấu trúc dữ liệu mảng trong gói số/numpy vừa được đánh máy vừa không thể chống lại, giống như các mảng C [thực tế, tôi khá chắc chắn rằng các cấu trúc dữ liệu này là mảng C đội mũ python]. Thủ tục thanh toán: //numeric.scipy.org Vegaseat1.735 đồng nghiệp của Đội đạo đức giả của Daniweb
# the equivalent of a circular size limited list
# also known as ring buffer, pops the oldest data item
# to make room for newest data item when max size is reached
# uses the double ended queue available in Python24
from collections import deque
class RingBuffer[deque]:
"""
inherits deque, pops the oldest data to make room
for the newest data when size is reached
"""
def __init__[self, size]:
deque.__init__[self]
self.size = size
def full_append[self, item]:
deque.append[self, item]
# full, pop the oldest item, left most item
self.popleft[]
def append[self, item]:
deque.append[self, item]
# max size reached, append becomes full_append
if len[self] == self.size:
self.append = self.full_append
def get[self]:
"""returns a list of size items [newest items]"""
return list[self]
# testing
if __name__ == '__main__':
size = 5
ring = RingBuffer[size]
for x in range[9]:
ring.append[x]
print ring.get[] # test
"""
notice that the left most item is popped to make room
result =
[0]
[0, 1]
[0, 1, 2]
[0, 1, 2, 3]
[0, 1, 2, 3, 4]
[1, 2, 3, 4, 5]
[2, 3, 4, 5, 6]
[3, 4, 5, 6, 7]
[4, 5, 6, 7, 8]
"""
Cảm ơn G-Do cho thông tin của bạn, vì vậy Numpy cuối cùng đã thay thế Numeric và Numarray. Thú vị! 413 Nearly a Posting Virtuoso
16 năm trướcChào Bumsfeld,
I guess the answer is yes.
Tôi tin rằng cấu trúc dữ liệu mảng trong gói số/numpy vừa được đánh máy vừa không thể chống lại, giống như các mảng C [thực tế, tôi khá chắc chắn rằng các cấu trúc dữ liệu này là mảng C đội mũ python]. Thủ tục thanh toán:
//numeric.scipy.org
Vegaseat1.735 đồng nghiệp của Đội đạo đức giả của Daniweb
...del mylist[0]
Vegaseat1.735 đồng nghiệp của Đội đạo đức giả của Daniweb 1,735 DaniWeb's Hypocrite Team Colleague
Tôi tin rằng cấu trúc dữ liệu mảng trong gói số/numpy vừa được đánh máy vừa không thể chống lại, giống như các mảng C [thực tế, tôi khá chắc chắn rằng các cấu trúc dữ liệu này là mảng C đội mũ python]. Thủ tục thanh toán://numeric.scipy.org
Vegaseat1.735 đồng nghiệp của Đội đạo đức giả của Daniweb
...del mylist[0]
Cảm ơn G-Do cho thông tin của bạn, vì vậy Numpy cuối cùng đã thay thế Numeric và Numarray. Thú vị!
Khi tôi mã hóa trong C, tôi đã sử dụng lấy mẫu dữ liệu phòng thí nghiệm và đặt nó vào bộ đệm tròn hoặc vòng để giữ cho thứ đó không bị tràn. Đây là một cách dễ dàng để tính trung bình động.
Bạn có thể làm một điều tương tự trong Python bằng cách sử dụng danh sách và theo dõi chỉ mục. Khi chỉ mục đạt đến giới hạn bạn đã đặt, dữ liệu mới sẽ bắt đầu ở Index Zero một lần nữa.
Một hàng đợi làm cho đơn giản hơn, đặc biệt là thùng chứa deque, bởi vì bạn có thể thêm vào cuối và bật mặt trước. Đây là một ví dụ, tôi hy vọng bạn có thể thấy những gì đang xảy ra: