Danh sách Python có thể được lập chỉ mục theo nhiều cách khác nhau, bao gồm cả số dương và số âm. Bài viết này sẽ thảo luận về cách sử dụng tham số trừ “-” để truy cập các phần tử cụ thể trong danh sách
Cấu trúc danh sách cơ bản và hoạt động
Một danh sách được xác định bằng cách sử dụng dấu ngoặc vuông và các phần tử bên trong chúng. Mỗi phần tử được phân tách bằng dấu phẩy
cú pháp
list_name = [element_!, element_2, ..., element_n]
Mã số
int_list= [3, 4, 5, 5, 6] # a list containing all integers char_list = ['a', 'b', 'c', 'd'] # al list of characters str_list = ["apple", 'banana', 'lemon', 'orange'] # a list of strings
Chỉ mục danh sách là gì?
Lập chỉ mục là đơn vị cơ bản của bất kỳ cấu trúc dữ liệu tuyến tính nào trong bất kỳ ngôn ngữ lập trình nào. Đối với mọi máy tính, chỉ mục mặc định bắt đầu từ 0 và tiếp tục cho đến n-1. Ở đây n biểu thị tổng số phần tử trong cấu trúc dữ liệu tương ứng. Các loại là
- lập chỉ mục tích cực. Bắt đầu từ 0 và tăng dần
- lập chỉ mục tiêu cực. bắt đầu từ phần tử cuối cùng và chuyển động từ đuôi đến đầu với mỗi lần di chuyển
Chúng giúp chúng tôi truy cập các phần tử riêng lẻ của cấu trúc dữ liệu này. Chúng ta hãy xem các hoạt động trong phần tiếp theo
Chỉ mục phủ định trong danh sách
Đây là điểm chính tập trung vào chủ đề của chúng tôi. Tham số “-1” trong danh sách là để biểu thị trình thông dịch Python mà các thao tác đến từ phần tử cuối cùng. Đầu tiên, chúng ta sẽ xem cách chúng ta có thể truy cập các phần tử bằng cách sử dụng các số chỉ mục
Sử dụng Chỉ mục Phủ định để Truy xuất Dữ liệu Danh sách
my_list = [45, 5, 33, 1, -9, 8, 76] print[my_list[-1]] print[my_list[-2]] print[my_list[-3]]
đầu ra
76 8 -9
Đảo ngược danh sách với chỉ số phủ định
Sử dụng hàm tích hợp “reverse[]”
my_list = [45, 5, 33, 1, -9, 8, 76] my_list.reverse[]
đầu ra
[76, 8, -9, 1, 33, 5, 45]
Đảo ngược danh sách bằng cách sử dụng -1
my_list = [45, 5, 33, 1, -9, 8, 76] my_list[::-1]
đầu ra
[76, 8, -9, 1, 33, 5, 45] # reversed list
Loại bỏ các phần tử có chỉ số âm
Sử dụng hàm pop[] và đưa -1 làm tham số bên trong nó, chúng ta có thể xóa phần tử cuối cùng của danh sách đó và chúng ta nhận được một danh sách mới
________số 8
đầu ra
76 # popped out element [45, 5, 33, 1, -9, 8] # new list returned
Ưu điểm của việc sử dụng lập chỉ mục phủ định trong danh sách Python
- Giảm các dòng mã và đảo ngược trong một dòng
- Làm cho các hoạt động phức tạp dễ dàng hơn
- Mất thời gian tối thiểu để hoạt động cung cấp ít phức tạp hơn
Phần kết luận
Điều này kết thúc hướng dẫn của chúng tôi về lập chỉ mục tiêu cực Python. Chúng tôi hy vọng bạn thấy nó hữu ích. Nếu bạn có bất kỳ câu hỏi hoặc ý kiến, xin vui lòng chia sẻ chúng dưới đây. Cảm ơn vì đã đọc
Khả năng hiểu danh sách được sử dụng để thực hiện một số thao tác cho mọi phần tử hoặc chọn một tập hợp con các phần tử đáp ứng một điều kiện
Trên mỗi lần lặp lại, chúng tôi đặt trước số hiện tại một dấu trừ để thay đổi dấu hiệu của nó
Lưu ý rằng phương pháp này không đủ nếu danh sách của bạn chứa cả số dương và số âm và bạn chỉ muốn nhận danh sách chứa số âm
Trong trường hợp này, bạn phải thêm dấu trừ vào đầu ra của hàm
int_list= [3, 4, 5, 5, 6] # a list containing all integers char_list = ['a', 'b', 'c', 'd'] # al list of characters str_list = ["apple", 'banana', 'lemon', 'orange'] # a list of strings7
Hàm abs trả về giá trị tuyệt đối của một số
Nói cách khác, nếu số dương, số được trả về và nếu số âm, phủ định của số được trả về
Hàm
int_list= [3, 4, 5, 5, 6] # a list containing all integers char_list = ['a', 'b', 'c', 'd'] # al list of characters str_list = ["apple", 'banana', 'lemon', 'orange'] # a list of strings7 luôn trả về một số dương, vì vậy để nhận được một số âm, chúng ta chỉ cần đặt trước kết quả một dấu trừ
Để thay thế cho việc sử dụng cách hiểu danh sách, bạn có thể sử dụng vòng lặp
int_list= [3, 4, 5, 5, 6] # a list containing all integers char_list = ['a', 'b', 'c', 'd'] # al list of characters str_list = ["apple", 'banana', 'lemon', 'orange'] # a list of strings9
Chuyển đổi tất cả các số dương trong Danh sách thành số âm bằng cách sử dụng vòng lặp #
Để chuyển đổi tất cả các số dương trong danh sách thành số âm
- Sử dụng vòng lặp
int_list= [3, 4, 5, 5, 6] # a list containing all integers char_list = ['a', 'b', 'c', 'd'] # al list of characters str_list = ["apple", 'banana', 'lemon', 'orange'] # a list of strings
9 để lặp lại danh sách - Tiền tố kết quả của việc gọi
int_list= [3, 4, 5, 5, 6] # a list containing all integers char_list = ['a', 'b', 'c', 'd'] # al list of characters str_list = ["apple", 'banana', 'lemon', 'orange'] # a list of strings
7 với dấu trừ để thay đổi từng số thành âm - Nối các số âm vào một danh sách mới
Chúng tôi đã sử dụng vòng lặp
int_list= [3, 4, 5, 5, 6] # a list containing all integers char_list = ['a', 'b', 'c', 'd'] # al list of characters str_list = ["apple", 'banana', 'lemon', 'orange'] # a list of strings9 để lặp lại danh sách
Trên mỗi lần lặp lại, chúng tôi sử dụng hàm
int_list= [3, 4, 5, 5, 6] # a list containing all integers char_list = ['a', 'b', 'c', 'd'] # al list of characters str_list = ["apple", 'banana', 'lemon', 'orange'] # a list of strings7 để lấy phiên bản dương của số và thêm một dấu trừ vào trước kết quả để thay đổi nó thành số âm
Danh sách. Phương thức append[] thêm một mục vào cuối danh sách
Bạn chọn cách tiếp cận nào là vấn đề sở thích cá nhân. Tôi sẽ sử dụng cách hiểu danh sách vì tôi thấy chúng khá trực tiếp và dễ đọc
Ngôn ngữ lập trình Python là ngôn ngữ lập trình cấp cao và hướng đối tượng. Python là một ngôn ngữ lập trình cấp cao mạnh mẽ, dễ học. Nó có một cách tiếp cận đơn giản nhưng hiệu quả đối với lập trình hướng đối tượng
Danh sách là kiểu dữ liệu dãy. Nó có thể thay đổi vì các giá trị của nó trong danh sách có thể được sửa đổi. Nó là một tập hợp các bộ giá trị được sắp xếp theo thứ tự được đặt trong dấu ngoặc vuông []
In số dương trong danh sách
Trong vấn đề này, chúng tôi sẽ lấy danh sách làm đầu vào từ người dùng và sau đó chỉ in những giá trị dương từ danh sách
Ví dụ
int_list= [3, 4, 5, 5, 6] # a list containing all integers char_list = ['a', 'b', 'c', 'd'] # al list of characters str_list = ["apple", 'banana', 'lemon', 'orange'] # a list of strings0
Dung dịch
Để chỉ in các số dương từ danh sách, chúng ta cần kiểm tra xem số từ danh sách có lớn hơn hoặc bằng 0 không
Phương pháp 1. Sử dụng vòng lặp
Chúng tôi sẽ lặp qua danh sách và sau đó in tất cả các số dương [lớn hơn hoặc bằng 0]
thuật toán
Chương trình in các số dương trong danh sách
int_list= [3, 4, 5, 5, 6] # a list containing all integers char_list = ['a', 'b', 'c', 'd'] # al list of characters str_list = ["apple", 'banana', 'lemon', 'orange'] # a list of strings1
đầu ra
int_list= [3, 4, 5, 5, 6] # a list containing all integers char_list = ['a', 'b', 'c', 'd'] # al list of characters str_list = ["apple", 'banana', 'lemon', 'orange'] # a list of strings2
Phương pháp 2. Sử dụng biểu thức lambda
Hàm lambda là một hàm ẩn danh - có nghĩa là hàm không có bất kỳ tên nào
cú pháp
int_list= [3, 4, 5, 5, 6] # a list containing all integers char_list = ['a', 'b', 'c', 'd'] # al list of characters str_list = ["apple", 'banana', 'lemon', 'orange'] # a list of strings3
Chức năng này có thể được sử dụng để tìm và in các số dương từ danh sách
Đối với điều này, chúng tôi sẽ lọc mảng bằng biểu thức lambda cho các giá trị lớn hơn hoặc bằng 0
Chương trình in các số dương trong danh sách
int_list= [3, 4, 5, 5, 6] # a list containing all integers char_list = ['a', 'b', 'c', 'd'] # al list of characters str_list = ["apple", 'banana', 'lemon', 'orange'] # a list of strings4
đầu ra
int_list= [3, 4, 5, 5, 6] # a list containing all integers char_list = ['a', 'b', 'c', 'd'] # al list of characters str_list = ["apple", 'banana', 'lemon', 'orange'] # a list of strings5
In số âm trong danh sách
Trong vấn đề này, chúng tôi sẽ lấy danh sách làm đầu vào từ người dùng và sau đó chỉ in những giá trị âm từ danh sách
Ví dụ
int_list= [3, 4, 5, 5, 6] # a list containing all integers char_list = ['a', 'b', 'c', 'd'] # al list of characters str_list = ["apple", 'banana', 'lemon', 'orange'] # a list of strings6
Dung dịch
Để chỉ in các số âm trong danh sách, chúng ta cần kiểm tra xem số trong danh sách có nhỏ hơn 0 không