Cách in các phần tử thay thế trong danh sách trong python

lặp qua từng mục trong danh sách fruit, vì vậy khi bạn đang ở nửa chặng đường,

item = 0
fruit = ['Strawberry', 'apple', 'pear', 'orange', 'banana', 'cucumber', 'tomato', 'Kiwi']
print(len(fruit))
for v in fruit:
    print(v, item)
    item = item + 2
0 sẽ vượt ra ngoài phần cuối của danh sách. Đây là phiên bản sửa đổi mã của bạn để minh họa

item = 0
fruit = ['Strawberry', 'apple', 'pear', 'orange', 'banana', 'cucumber', 'tomato', 'Kiwi']
print(len(fruit))
for v in fruit:
    print(v, item)
    item = item + 2

đầu ra

8
Strawberry 0
apple 2
pear 4
orange 6
banana 8
cucumber 10
tomato 12
Kiwi 14

Vì vậy, khi chúng tôi đến "chuối",

item = 0
fruit = ['Strawberry', 'apple', 'pear', 'orange', 'banana', 'cucumber', 'tomato', 'Kiwi']
print(len(fruit))
for v in fruit:
    print(v, item)
    item = item + 2
1 sẽ cố gắng truy cập vào một mục sau khi kết thúc fruit và điều đó dẫn đến một ngoại lệ
item = 0
fruit = ['Strawberry', 'apple', 'pear', 'orange', 'banana', 'cucumber', 'tomato', 'Kiwi']
print(len(fruit))
for v in fruit:
    print(v, item)
    item = item + 2
3

Có nhiều cách trong python có thể được sử dụng để tạo danh sách riêng bằng cách chọn các phần tử thay thế. Chúng ta không cần lặp qua danh sách bằng cách sử dụng vòng lặp hoặc bất kỳ thứ gì tương tự

Chúng tôi có thể sử dụng cắt lát hoặc chúng tôi có thể sử dụng hiểu danh sách. Trong bài đăng này,

Phương pháp 1. Bằng cách sử dụng danh sách cắt

Hãy thử giải quyết vấn đề này bằng cách sử dụng cắt lát. chức năng lát danh sách được định nghĩa như dưới đây

Đây,

  • bắt đầu là vị trí chỉ mục để bắt đầu cắt. Theo mặc định nó là 0
  • end là vị trí chỉ mục để kết thúc quá trình cắt lát. Nếu chúng tôi không cung cấp giá trị này, nó sẽ lấy độ dài của danh sách
  • bước là số phần tử cần bỏ qua trong khi cắt

Phương thức này trả về một danh sách mới với các phần tử mới

Hãy sử dụng phép cắt để chọn các phần tử thay thế từ danh sách

given_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

new_list = given_list[::2]

print(new_list)

Trong chương trình này, chúng tôi không chuyển vị trí chỉ mục bắt đầu và kết thúc, nhưng chúng tôi chuyển bước là 2. Nếu bạn chạy chương trình này, nó sẽ in đầu ra bên dưới

Nếu bạn muốn bắt đầu từ phần tử thứ hai, bạn có thể cung cấp chỉ mục bắt đầu cho phần tử đó

given_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

new_list = given_list[1::2]

print(new_list)

Nó sẽ in

Phương pháp 2. Bằng cách sử dụng hiểu danh sách

Hiểu danh sách là một cách khác để nhanh chóng chọn các số thay thế từ danh sách. Đó là cách viết tắt của việc sử dụng một vòng lặp để lặp lại và chọn các số

Hãy viết chương trình bằng cách sử dụng hiểu danh sách

given_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

new_list = [given_list[i] for i in range(len(given_list)) if i % 2 != 0]

print(new_list)

Chương trình này sẽ chỉ chọn các số chỉ mục lẻ từ danh sách này. Nếu bạn chạy chương trình này, nó sẽ in đầu ra bên dưới

Tương tự, chúng ta cũng có thể thay đổi nó để chỉ chọn các số chẵn

________số 8_______

Nó sẽ in

Phương pháp 3. Bằng cách sử dụng bộ lọc

phương thức lọc nhận một lần lặp và sử dụng một hàm, nó tạo một trình lặp. Dưới đây là cú pháp của phương thức này

filter(function, iterable)

Hàm trả về một giá trị boolean. Đối với những phần tử mà hàm này trả về true được chọn. Chúng ta có thể chuyển một lambda làm tham số đầu tiên. Dưới đây là chương trình hoàn chỉnh

given_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

new_list = list(filter(lambda x: x % 2 == 0, given_list))

print(new_list)

Nó sẽ chỉ chọn các số chẵn từ danh sách. Nếu bạn chạy chương trình này, nó sẽ in đầu ra bên dưới

Phương pháp này hoạt động nếu bạn muốn kiểm tra các số và chọn chúng. Nếu bạn muốn kiểm tra các giá trị chỉ mục, bạn có thể sử dụng bất kỳ phương thức thứ nhất và thứ hai nào

Bài tập » Danh sách »  Bộ 1  »  Giải pháp 1

Viết chương trình nhận danh sách từ người dùng và in phần tử thay thế của danh sách

Mã nguồn

mylist = []
size = int(input('How many elements you want to enter? '))

print('Enter',str(size),'elements')

for i in range(size):
    data = int(input())
    mylist.append(data)

print('Alternate elements are:')

for i in range(0,size,2):
    print(mylist[i])

đầu ra

Bạn muốn nhập bao nhiêu phần tử?
Nhập 6 phần tử
10
20
30
40
50
60
Các yếu tố thay thế là
10
30
50

Công cụ sau đây trực quan hóa những gì máy tính đang làm từng bước khi nó thực thi chương trình nói trên


Trình chỉnh sửa mã Python

Có một cách khác để giải quyết giải pháp này?

Trước. Viết chương trình Python để kiểm tra xem một chuỗi con có trong danh sách các giá trị chuỗi đã cho hay không
Kế tiếp. Viết chương trình Python để tìm các phần tử danh sách lồng nhau có trong một danh sách khác

Mức độ khó của bài tập này là gì?

Dễ dàng trung bình khó

Kiểm tra kỹ năng Lập trình của bạn với bài kiểm tra của w3resource



Theo dõi chúng tôi trên FacebookTwitter để cập nhật thông tin mới nhất.

con trăn. Lời khuyên trong ngày

Phân hủy một bộ sưu tập

Giả sử chúng ta có một hàm trả về một bộ gồm hai giá trị và chúng ta muốn gán mỗi giá trị cho một biến riêng biệt. Một cách là sử dụng lập chỉ mục như dưới đây

abc = (5, 10)
x = abc[0]
y = abc[1]
print(x, y)

đầu ra

5 10

Có một tùy chọn tốt hơn cho phép chúng tôi thực hiện thao tác tương tự trong một dòng

x, y = abc
print(x, y)

đầu ra

5 10

Nó có thể được mở rộng thành một bộ có nhiều hơn 2 giá trị hoặc một số cấu trúc dữ liệu khác như danh sách hoặc bộ