Nếu bạn thực sự muốn thay đổi các yếu tố, bạn có thể sử dụng modulo để đạp danh sách và gán lại các yếu tố sang vị trí đã thay đổi của chúng:
def shift[lst, shft=0]:
ln = len[lst]
for i, ele in enumerate[lst[:]]:
lst[[i + shft] % ln] = ele
return lst
In [3]: shift[ ['a','b','c','d'] , 1]
Out[3]: ['d', 'a', 'b', 'c']
In [4]: shift[ ['a','b','c','d'] , 2]
Out[4]: ['c', 'd', 'a', 'b']
In [5]: shift[ ['a','b','c','d'] , 3]
Out[5]: ['b', 'c', 'd', 'a']
Nếu bạn chỉ muốn một ca duy nhất, chỉ cần chuyển phần tử cuối cùng sang phía trước sẽ mở rộng danh sách:
def shift[lst]:
lst[0:1] = [lst.pop[],lst[0]]
return lst
Cả hai thay đổi danh sách ban đầu.
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Đọc
Bàn luận
The combination of these functions can be used to perform the task of a single shift in list. The last element is added to the rest of the list to achieve this task using slicing.
Các vòng quay theo chu kỳ đã được thảo luận trong các bài viết trước đó. Nhưng đôi khi, chúng tôi chỉ yêu cầu một nhiệm vụ cụ thể, một phần của xoay, tức là phần tử cuối cùng sang phần tử đầu tiên trong danh sách. Điều này có ứng dụng trong lập trình ngày trong một số tiện ích nhất định. Hãy để thảo luận về những cách nhất định mà điều này có thể đạt được.
Phương pháp số 1: Sử dụng Danh sách cắt và Nhà điều hành
def shift[lst]:
lst[0:1] = [lst.pop[],lst[0]]
return lst
5 Sự kết hợp của các chức năng này có thể được sử dụng để thực hiện nhiệm vụ của một ca trong danh sách. Yếu tố cuối cùng được thêm vào phần còn lại của danh sách để đạt được nhiệm vụ này bằng cách sử dụng cắt lát.Các
The original list is : [1, 4, 5, 6, 7, 8, 9, 12] The list after shift is : [12, 1, 4, 5, 6, 7, 8, 9]5
The original list is : [1, 4, 5, 6, 7, 8, 9, 12] The list after shift is : [12, 1, 4, 5, 6, 7, 8, 9]6
The original list is : [1, 4, 5, 6, 7, 8, 9, 12] The list after shift is : [12, 1, 4, 5, 6, 7, 8, 9]7
def shift[lst]:
lst[0:1] = [lst.pop[],lst[0]]
return lst
5 The original list is : [1, 4, 5, 6, 7, 8, 9, 12] The list after shift is : [12, 1, 4, 5, 6, 7, 8, 9]9
import numpy as np0
Output:
The original list is : [1, 4, 5, 6, 7, 8, 9, 12] The list after shift is : [12, 1, 4, 5, 6, 7, 8, 9]
6def shift[lst]:
lst[0:1] = [lst.pop[],lst[0]]
return lst
7 def shift[lst]:
lst[0:1] = [lst.pop[],lst[0]]
return lst
import numpy as np
3import numpy as np
4
9def shift[lst]:
lst[0:1] = [lst.pop[],lst[0]]
return lst
import numpy as np
6
5 def shift[lst]:
lst[0:1] = [lst.pop[],lst[0]]
return lst
import numpy as np
8import numpy as np
4
9def shift[lst]:
lst[0:1] = [lst.pop[],lst[0]]
return lst
arr = np.array[[56, 87, 23, 92, 81, 98, 45, 98]]
1
This functionality can also
be achieved using the inbuilt functions of python viz.
arr = np.array[[56, 87, 23, 92, 81, 98, 45, 98]]9. The pop function returns the last element and that is inserted at front using the insert function.
Các vòng quay theo chu kỳ đã được thảo luận trong các bài viết trước đó. Nhưng đôi khi, chúng tôi chỉ yêu cầu một nhiệm vụ cụ thể, một phần của xoay, tức là phần tử cuối cùng sang phần tử đầu tiên trong danh sách. Điều này có ứng dụng trong lập trình ngày trong một số tiện ích nhất định. Hãy để thảo luận về những cách nhất định mà điều này có thể đạt được.
Phương pháp số 1: Sử dụng Danh sách cắt và Nhà điều hành
def shift[lst]:
lst[0:1] = [lst.pop[],lst[0]]
return lst
5 Sự kết hợp của các chức năng này có thể được sử dụng để thực hiện nhiệm vụ của một ca trong danh sách. Yếu tố cuối cùng được thêm vào phần còn lại của danh sách để đạt được nhiệm vụ này bằng cách sử dụng cắt lát.print["5
Array Dimensions...
",arr.ndim]
print["6
Array Dimensions...
",arr.ndim]
print["7
Array Dimensions...
",arr.ndim]
The original list is : [1, 4, 5, 6, 7, 8, 9, 12] The list after shift is : [12, 1, 4, 5, 6, 7, 8, 9]5
The original list is : [1, 4, 5, 6, 7, 8, 9, 12] The list after shift is : [12, 1, 4, 5, 6, 7, 8, 9]6
The original list is : [1, 4, 5, 6, 7, 8, 9, 12] The list after shift is : [12, 1, 4, 5, 6, 7, 8, 9]7
def shift[lst]:
lst[0:1] = [lst.pop[],lst[0]]
return lst
5 The original list is : [1, 4, 5, 6, 7, 8, 9, 12] The list after shift is : [12, 1, 4, 5, 6, 7, 8, 9]9
import numpy as np0
Output:
The original list is : [1, 4, 5, 6, 7, 8, 9, 12] The list after shift is : [12, 1, 4, 5, 6, 7, 8, 9]
Để chuyển các bit của các phần tử mảng số nguyên sang bên phải, hãy sử dụng phương thức numpy.right_shift [] trong Python Numpy. Các bit được dịch chuyển sang bên phải x2 bên phải. Vì biểu diễn nội bộ của các số ở định dạng nhị phân, hoạt động này tương đương với việc chia x1 cho 2 ** x2.numpy.right_shift[] method in Python Numpy. Bits are shifted to the right x2. Because the internal representation of numbers is in binary format, this operation is equivalent to dividing x1 by 2**x2.
X1 là các giá trị đầu vào. X2 là số bit để loại bỏ ở bên phải của x1. Nếu x1.Shape! = X2.Shape, chúng phải được phát theo hình dạng phổ biến.
Hàm Right_shift [] trả về X1 với các bit đã thay đổi x2 lần sang phải. Đây là vô hướng nếu cả x1 và x2 là vô hướng.
Các bước
Lúc đầu, nhập thư viện bắt buộc -
import numpy as np
Tạo một mảng một chiều-
arr = np.array[[56, 87, 23, 92, 81, 98, 45, 98]]
Hiển thị mảng của chúng tôi -
print["Array...
",arr]
Nhận kiểu dữ liệu -
print["
Array datatype...
",arr.dtype]
Nhận kích thước của mảng -
print["
Array Dimensions...
",arr.ndim]
Có được hình dạng của mảng -
print["
Our Array Shape...
",arr.shape]
Nhận số lượng phần tử của mảng -
def shift[lst]:
lst[0:1] = [lst.pop[],lst[0]]
return lst
0Số lượng thay đổi đúng -
def shift[lst]:
lst[0:1] = [lst.pop[],lst[0]]
return lst
1Để chuyển các bit của các phần tử mảng số nguyên sang bên phải, hãy sử dụng phương thức numpy.right_shift [] trong Python Numpy -
def shift[lst]:
lst[0:1] = [lst.pop[],lst[0]]
return lst
2Thí dụ
def shift[lst]:
lst[0:1] = [lst.pop[],lst[0]]
return lst
3Đầu ra
def shift[lst]:
lst[0:1] = [lst.pop[],lst[0]]
return lst
4
Cập nhật vào ngày 17 tháng 2 năm 2022 10:42:38
- Câu hỏi và câu trả lời liên quan
- Chuyển các bit của một số nguyên sang phải trong Numpy
- Chuyển các bit của các phần tử mảng số nguyên sang bên trái trong Numpy
- Dịch chuyển các phần của các phần tử mảng của một mảng hai chiều sang phải trong Numpy
- Chuyển các bit của một số nguyên sang trái trong Numpy
- Dịch chuyển các bit của một số nguyên sang bên phải và đặt số lượng dịch chuyển thành một mảng với loại số nguyên đã ký trong Numpy
- Chuyển các phần của các phần tử mảng của một mảng hai chiều sang bên trái trong Numpy
- Dịch chuyển các bit của một số nguyên sang trái và đặt số lượng dịch chuyển như một mảng trong Numpy
- Chương trình Java để chuyển các phần tử mảng sang bên phải
- Các yếu tố tròn của mảng đến số nguyên gần nhất trong Numpy
- Đóng gói các yếu tố của một mảng numpy có giá trị nhị phân thành các bit trong một mảng UINT8
- Chương trình Java để chuyển các phần tử mảng sang trái
- Trả lại sàn của các phần tử mảng trong Numpy
- Các yếu tố chính đáng của một mảng và đặt các ký tự để sử dụng để đệm trong Numpy
- Đóng gói các yếu tố của một mảng numpy có giá trị nhị phân thành các bit trong một mảng UINT8 trên trục 1
- Đóng gói các yếu tố của một mảng numpy có giá trị nhị phân thành các bit trong một mảng UINT8 trên trục âm