Vấn đề. Làm cách nào để truy cập hoặc in chữ cái thứ n của mỗi từ trong chuỗi đã cho bằng ngôn ngữ lập trình Python?
Để có được chữ cái thứ nth
của mỗi từ trong câu đã cho, trước tiên chúng ta phải trích xuất các từ trong câu
Chúng ta có thể dễ dàng đạt được điều này bằng phương pháp Python split[]
Phương thức split[]
trong Python trả về một danh sách các từ bằng cách tách câu trên cơ sở dấu phân cách đã chỉ định. Nếu dấu tách không được chỉ định, nó sẽ ngắt chuỗi trên khoảng trắng
>>> st = "pencil programmer"
>>> print[st.split[]]
['pencil', 'programmer']
Sau khi chúng tôi nhận được một danh sách các từ, chúng tôi có thể lặp qua danh sách và lấy chữ cái thứ n của mỗi từ bằng cách sử dụng các chỉ số
Đây là một ví dụ trong đó chúng tôi đang in chữ cái thứ 1, thứ 2 và thứ 3 của mỗi từ
st="pencil programmer" print["First Letter of Each Word:"] for word in st.split[]: print[word[0]] print["Second Letter of Each Word:"] for word in st.split[]: print[word[1]] print["Third Letter of Each Word:"] for word in st.split[]: print[word[2]]
đầu ra
Chữ cái đầu tiên của mỗi từ.p
p
Chữ cái thứ hai của mỗi từ.
e
r
Chữ cái thứ ba của mỗi từ.
n
o
Phương pháp trên hoạt động tốt, nhưng nếu chúng ta cố gắng truy cập chữ cái nằm ngoài phạm vi .
>>> st = "pencil programmer"
>>> for s in st.split[]:
>>> print[s[10]]
Traceback [most recent call last]:
File "", line 5, in
IndexError: string index out of range
Thực hành tốt nhất để truy cập chữ cái thứ n
Trước tiên, tốt hơn là kiểm tra xem giá trị của n có nhỏ hơn hoặc bằng độ dài của từ hay không, nếu có thì chỉ in chữ cái thứ n
st = "pencil programmer"
n = 7
print[f"{n}th Letter of Each Word:"]
for word in st.split[]:
print[word[n] if n < len[word] else None]
đầu ra
Chữ cái thứ 7 của mỗi từ.Không có
m
Trong ví dụ lập trình này, chúng ta đã học cách truy cập và in chữ cái thứ n của mỗi từ trong chuỗi trong .
Danh sách là một trong những loại dữ liệu linh hoạt hơn trong số những loại khác được cung cấp trong Python. Như chúng ta biết, danh sách có thể lưu trữ nhiều mục trong một biến duy nhất, thường chỉ cần lấy một số mục từ danh sách nhất định
Nhận mọi phần tử khác trong danh sách bằng Python
Hướng dẫn này tập trung vào và trình bày các cách khác nhau có sẵn để lấy mọi phần tử khác trong danh sách trong python
Có rất nhiều cách để giải quyết vấn đề này, từ cách cắt danh sách đơn giản đến hàm lambda, tất cả đều đã được giải thích cặn kẽ trong bài viết dưới đây
Sử dụng List Slicing
Việc cắt danh sách là một phương pháp phổ biến và được sử dụng để truy cập các phần tử của danh sách trong một phạm vi đã chỉ định.
Việc cắt danh sách có thể trả về một danh sách mới, cụ thể hơn từ danh sách ban đầu bằng cách lấy các giá trị start
, end
và step
do người dùng chỉ định. Cả ba đều được phân tách bằng dấu hai chấm
st="pencil programmer" print["First Letter of Each Word:"] for word in st.split[]: print[word[0]] print["Second Letter of Each Word:"] for word in st.split[]: print[word[1]] print["Third Letter of Each Word:"] for word in st.split[]: print[word[2]]0.
Các thông số nêu trên có giải thích như sau
- bắt đầu. Điểm bắt đầu của phạm vi mà người dùng xác định
- kết thúc. Điểm cuối của phạm vi mà người dùng xác định
- bươc. số bước mà người dùng có thể xác định
Đoạn mã sau sử dụng cắt danh sách để lấy mọi phần tử khác trong danh sách bằng Python
Sử dụng danh sách cắt
1
2
3
4
5
x = [10,20,30,40,50,60,70,80,90,100]
y = x[. . 2]
in[y]
đầu ra
[10,30,50,70,90]
Sử dụng hàm st="pencil programmer"
print["First Letter of Each Word:"]
for word in st.split[]:
print[word[0]]
print["Second Letter of Each Word:"]
for word in st.split[]:
print[word[1]]
print["Third Letter of Each Word:"]
for word in st.split[]:
print[word[2]]
1 cùng với hàm st="pencil programmer"
print["First Letter of Each Word:"]
for word in st.split[]:
print[word[0]]
print["Second Letter of Each Word:"]
for word in st.split[]:
print[word[1]]
print["Third Letter of Each Word:"]
for word in st.split[]:
print[word[2]]
2
Phương thức
st="pencil programmer" print["First Letter of Each Word:"] for word in st.split[]: print[word[0]] print["Second Letter of Each Word:"] for word in st.split[]: print[word[1]] print["Third Letter of Each Word:"] for word in st.split[]: print[word[2]]1, như tên cho thấy, được sử dụng để nối các mục trong một danh sách nhất định.
Hàm
st="pencil programmer" print["First Letter of Each Word:"] for word in st.split[]: print[word[0]] print["Second Letter of Each Word:"] for word in st.split[]: print[word[1]] print["Third Letter of Each Word:"] for word in st.split[]: print[word[2]]2 được sử dụng để chỉ định một phạm vi mà hàm sẽ được áp dụng. Hàm này có ba tham số là
start
, st="pencil programmer" print["First Letter of Each Word:"] for word in st.split[]: print[word[0]] print["Second Letter of Each Word:"] for word in st.split[]: print[word[1]] print["Third Letter of Each Word:"] for word in st.split[]: print[word[2]]6 và
step
. Tất cả ba từ này được phân tách bằng dấu phẩy [end
1]. - bắt đầu. Nó đánh dấu sự khởi đầu của phạm vi
- dừng lại. Nó đánh dấu sự kết thúc của phạm vi
- bươc. Nó đánh dấu giá trị bước sẽ được thực hiện
Đoạn mã sau sử dụng hàm
st="pencil programmer" print["First Letter of Each Word:"] for word in st.split[]: print[word[0]] print["Second Letter of Each Word:"] for word in st.split[]: print[word[1]] print["Third Letter of Each Word:"] for word in st.split[]: print[word[2]]1 cùng với hàm
st="pencil programmer" print["First Letter of Each Word:"] for word in st.split[]: print[word[0]] print["Second Letter of Each Word:"] for word in st.split[]: print[word[1]] print["Third Letter of Each Word:"] for word in st.split[]: print[word[2]]2 để lấy mọi phần tử khác trong danh sách bằng Python
Sử dụng danh sách. hàm append[] cùng với hàm range[]
1
2
3
4
5
6
7
8
9
x = [10,20,30,40,50,60,70,80,90,100]
def ese[a]:
y = [ ]
cho i trong phạm vi[1,len[a],2]:
y. chắp thêm[a[i]]
trả lại y
in[ese[x]]
đầu ra
[20,40,60,80,100]
Đây là bài viết về cách tăng vòng lặp for lên 2 trong Python
Sử dụng khả năng hiểu danh sách và hàm st="pencil programmer"
print["First Letter of Each Word:"]
for word in st.split[]:
print[word[0]]
print["Second Letter of Each Word:"]
for word in st.split[]:
print[word[1]]
print["Third Letter of Each Word:"]
for word in st.split[]:
print[word[2]]
2 với điều kiện
Khả năng hiểu danh sách có khả năng tạo danh sách có tham chiếu đến danh sách đã tồn tại. Nó cũng làm giảm đoạn mã và làm cho mã gọn hơn.
Ở đây, chúng ta sử dụng hàm
st="pencil programmer" print["First Letter of Each Word:"] for word in st.split[]: print[word[0]] print["Second Letter of Each Word:"] for word in st.split[]: print[word[1]] print["Third Letter of Each Word:"] for word in st.split[]: print[word[2]]2 với các điều kiện thay vì các tham số
start
, st="pencil programmer" print["First Letter of Each Word:"] for word in st.split[]: print[word[0]] print["Second Letter of Each Word:"] for word in st.split[]: print[word[1]] print["Third Letter of Each Word:"] for word in st.split[]: print[word[2]]6 và
step
theo quy ước. Đoạn mã sau sử dụng khả năng hiểu danh sách và hàm
st="pencil programmer" print["First Letter of Each Word:"] for word in st.split[]: print[word[0]] print["Second Letter of Each Word:"] for word in st.split[]: print[word[1]] print["Third Letter of Each Word:"] for word in st.split[]: print[word[2]]2 có điều kiện để lấy mọi phần tử khác trong danh sách bằng Python
Sử dụng khả năng hiểu danh sách và hàm range[] với điều kiện
1
2
3
4
x = [10,20,30,40,50,60,70,80,90,100]
in[[x[i] for i in range[len[x]] if i % 2 == 0]]
đầu ra
[10,30,50,70,90]
Sử dụng khả năng hiểu danh sách và hàm st="pencil programmer"
print["First Letter of Each Word:"]
for word in st.split[]:
print[word[0]]
print["Second Letter of Each Word:"]
for word in st.split[]:
print[word[1]]
print["Third Letter of Each Word:"]
for word in st.split[]:
print[word[2]]
2 với bước
Việc hiểu danh sách, như chúng ta biết, giúp chúng ta tránh vòng lặp step
1 chung chung và có thể hoàn thành mã trong một dòng.
Ở đây, chúng tôi sử dụng hàm
st="pencil programmer" print["First Letter of Each Word:"] for word in st.split[]: print[word[0]] print["Second Letter of Each Word:"] for word in st.split[]: print[word[1]] print["Third Letter of Each Word:"] for word in st.split[]: print[word[2]]2 với các hàm
start
, st="pencil programmer" print["First Letter of Each Word:"] for word in st.split[]: print[word[0]] print["Second Letter of Each Word:"] for word in st.split[]: print[word[1]] print["Third Letter of Each Word:"] for word in st.split[]: print[word[2]]6 và
step
thông thường để thực hiện nhiệm vụ hiện tại. Đoạn mã sau sử dụng khả năng hiểu danh sách và hàm
st="pencil programmer" print["First Letter of Each Word:"] for word in st.split[]: print[word[0]] print["Second Letter of Each Word:"] for word in st.split[]: print[word[1]] print["Third Letter of Each Word:"] for word in st.split[]: print[word[2]]2 với bước để lấy mọi phần tử khác trong danh sách bằng Python
Sử dụng khả năng hiểu danh sách và hàm range[] với bước
1
2
3
4
x = [10,20,30,40,50,60,70,80,90,100]
in[[x[i] for i in range[0,len[x],2]]]
đầu ra
[10,30,50,70,90]
đọc thêm
So sánh các phần tử danh sách với nhau trong Python
Đọc thêm →
Tìm các phần tử chung trong hai danh sách trong python
Đọc thêm →
Sử dụng hàm step
7 cùng với khả năng hiểu danh sách
Hàm step
7 là một bổ sung hữu ích cho mã Python của người dùng vì mục đích này phục vụ chức năng hỗ trợ người dùng bằng cách thêm bộ đếm vào bất kỳ lần lặp cụ thể nào và trả về nó dưới dạng đối tượng liệt kê
Khả năng hiểu danh sách, khi được sử dụng cùng với hàm step
7, có khả năng thực hiện nhiệm vụ lấy mọi phần tử khác trong danh sách bằng Python
Đoạn mã sau sử dụng hàm step
7 cùng với khả năng hiểu danh sách để lấy mọi phần tử khác trong danh sách bằng Python
Sử dụng hàm enumerate[] cùng với khả năng hiểu danh sách
1
2
3
4
x = [10,20,30,40,50,60,70,80,90,100]
in [[a cho i, a in enumerate[x] if i % 2 == 0]]
đầu ra
[10, 30, 50, 70, 90]
Sử dụng hàm lambda
Hàm
st="pencil programmer" print["First Letter of Each Word:"] for word in st.split[]: print[word[0]] print["Second Letter of Each Word:"] for word in st.split[]: print[word[1]] print["Third Letter of Each Word:"] for word in st.split[]: print[word[2]]01 là một hàm ẩn danh có khả năng giữ một biểu thức duy nhất trong khi nhận n số đối số
Hàm
st="pencil programmer" print["First Letter of Each Word:"] for word in st.split[]: print[word[0]] print["Second Letter of Each Word:"] for word in st.split[]: print[word[1]] print["Third Letter of Each Word:"] for word in st.split[]: print[word[2]]01 có thể thực hiện nhiệm vụ lấy mọi phần tử khác trong danh sách bằng Python khi được sử dụng với hàm
st="pencil programmer" print["First Letter of Each Word:"] for word in st.split[]: print[word[0]] print["Second Letter of Each Word:"] for word in st.split[]: print[word[1]] print["Third Letter of Each Word:"] for word in st.split[]: print[word[2]]2 và chỉ định điều kiện
Cách tiếp cận này cũng sử dụng một hàm
st="pencil programmer" print["First Letter of Each Word:"] for word in st.split[]: print[word[0]] print["Second Letter of Each Word:"] for word in st.split[]: print[word[1]] print["Third Letter of Each Word:"] for word in st.split[]: print[word[2]]04 bổ sung được sử dụng để đặt các phần tử của một chuỗi đã cho theo một điều kiện và kiểm tra xem chúng có đúng hay không. Trên cơ sở này, nó lọc trình tự đã chỉ định
Đoạn mã sau sử dụng hàm lambda để lấy mọi phần tử khác trong danh sách bằng Python
Sử dụng hàm lambda
1
2
3
4
5
x = [10,20,30,40,50,60,70,80,90,100]
y = [x[i] for i in filter[lambda a: a % 2 == 1, range[len[x]]]]
in[y]
đầu ra
[20, 40, 60, 80, 100]
Phần kết luận
Hướng dẫn này thảo luận về một số phương pháp thực hiện thành công nhiệm vụ lấy mọi phần tử khác trong danh sách bằng Python. Một số phương pháp có thể khá phức tạp đối với người mới bắt đầu hiểu nhưng tất cả các phương pháp đều cung cấp câu trả lời chính xác. Lập trình viên có thể chọn một trong số rất nhiều tùy thuộc vào kết quả mà họ đang tìm kiếm