Sự lặp lại của danh sách trong Python là gì?

Với một danh sách, toán tử lặp lại tạo các bản sao của các tham chiếu. Mặc dù điều này có vẻ đơn giản, nhưng khi chúng ta cho phép một danh sách tham chiếu đến một danh sách khác, một vấn đề tế nhị có thể nảy sinh

Xem xét phần mở rộng sau trên ví dụ trước

s1="Welcome "
s2="to "
s3="python"
s4=s1+s2+s3
print [s4]#Output:Welcome to python
4 là danh sách ba tham chiếu đến
s1="Welcome "
s2="to "
s3="python"
s4=s1+s2+s3
print [s4]#Output:Welcome to python
5 được tạo bởi toán tử lặp lại. Sơ đồ tham khảo được hiển thị dưới đây

Bây giờ, điều gì sẽ xảy ra nếu chúng ta sửa đổi một giá trị trong

s1="Welcome "
s2="to "
s3="python"
s4=s1+s2+s3
print [s4]#Output:Welcome to python
5

s1="Welcome "
s2="to "
s3="python"
s4=s1+s2+s3
print [s4]#Output:Welcome to python
4 cho thấy sự thay đổi ở ba nơi. Có thể dễ dàng nhận thấy điều này bằng cách lưu ý rằng trong sơ đồ tham chiếu, chỉ có một
s1="Welcome "
s2="to "
s3="python"
s4=s1+s2+s3
print [s4]#Output:Welcome to python
5, vì vậy bất kỳ thay đổi nào đối với nó đều xuất hiện trong cả ba tham chiếu từ
s1="Welcome "
s2="to "
s3="python"
s4=s1+s2+s3
print [s4]#Output:Welcome to python
4

Đây là ví dụ tương tự trong codelens. Xem qua mã đặc biệt chú ý đến kết quả của việc thực hiện câu lệnh gán

s1="Welcome"
s2="to"
s3="python"
s4=s1+" " + s2+" "+ s3
print [s4]#Output:Welcome to python
0

Trong python, phép nối và phép lặp được hỗ trợ bởi các kiểu dữ liệu chuỗi cả có thể thay đổi [danh sách] và không thay đổi [tuple, chuỗi]. Các loại trình tự như đối tượng phạm vi không hỗ trợ nối và lặp lại. Hơn nữa, các bộ chứa Python là các kiểu dữ liệu không theo trình tự [chẳng hạn như bộ hoặc từ điển] không hỗ trợ các toán tử nối và lặp lại. Trong bài viết này, chúng ta sẽ xem xét chi tiết các phép nối và phép lặp được hỗ trợ bởi các kiểu dữ liệu trình tự như danh sách, bộ dữ liệu và chuỗi

Các chủ đề được đề cập trong câu chuyện này

Ảnh của tác giả

nối

Phép nối được thực hiện bởi toán tử

s1="Welcome"
s2="to"
s3="python"
s4=s1+" " + s2+" "+ s3
print [s4]#Output:Welcome to python
1. Phép nối được hỗ trợ bởi các kiểu dữ liệu chuỗi [chuỗi, danh sách, bộ]. Việc nối chỉ được thực hiện giữa các kiểu dữ liệu giống nhau

cú pháp

s1="Welcome"
s2="to"
s3="python"
s4=s1+" " + s2+" "+ s3
print [s4]#Output:Welcome to python
2

nối chuỗi

Chuỗi là một kiểu dữ liệu chuỗi bất biến. Kết nối các kiểu dữ liệu chuỗi bất biến luôn dẫn đến một đối tượng mới

ví dụ 1. Các chuỗi được nối như cũ và không có khoảng trống nào được thêm vào giữa các chuỗi

s1="Welcome"
s2="to"
s3="python"
s4=s1+s2+s3
print [s4]#Output:Welcometopython

ví dụ 2. Nếu chúng ta muốn khoảng cách giữa hai chuỗi trong khi nối, chúng ta phải bao gồm khoảng trắng trong chính chuỗi đó hoặc nối khoảng trắng

Phương pháp 1

s1="Welcome "
s2="to "
s3="python"
s4=s1+s2+s3
print [s4]#Output:Welcome to python

Phương pháp 2

s1="Welcome"
s2="to"
s3="python"
s4=s1+" " + s2+" "+ s3
print [s4]#Output:Welcome to python

ví dụ 3. Kết nối giữa các loại dữ liệu khác nhau

Điều này sẽ nâng cao

s1="Welcome"
s2="to"
s3="python"
s4=s1+" " + s2+" "+ s3
print [s4]#Output:Welcome to python
3

s1="Welcome"
s2="to"
s3="python"
s4=[3.8]
s5=s1+s2+s3+s4
#Output:TypeError: can only concatenate str [not "list"] to str

Ví dụ 4. Sử dụng toán tử

s1="Welcome"
s2="to"
s3="python"
s4=s1+" " + s2+" "+ s3
print [s4]#Output:Welcome to python
4 dẫn đến và bổ sung cho các đối tượng int và nối trong chuỗi

________số 8

Ví dụ 5. Nếu các chuỗi được đặt cạnh nhau mà không có toán tử

s1="Welcome"
s2="to"
s3="python"
s4=s1+" " + s2+" "+ s3
print [s4]#Output:Welcome to python
4, điều này sẽ dẫn đến phép nối

s1="Welcome"
s2="to"
s3="python"
s4=s1+" " + s2+" "+ s3
print [s4]#Output:Welcome to python
0

Ví dụ 6. Áp dụng các phương thức cho chuỗi trong khi nối

s1="Welcome"
s2="to"
s3="python"
s4=s1+" " + s2+" "+ s3
print [s4]#Output:Welcome to python
1

Nối các đối tượng tuple

Bộ dữ liệu là một kiểu dữ liệu chuỗi bất biến. Kết nối các kiểu dữ liệu chuỗi bất biến luôn dẫn đến một đối tượng mới

ví dụ 1. Nối hai đối tượng Tuple

s1="Welcome"
s2="to"
s3="python"
s4=s1+" " + s2+" "+ s3
print [s4]#Output:Welcome to python
2

ví dụ 2. Kết nối giữa các loại dữ liệu khác nhau

s1="Welcome"
s2="to"
s3="python"
s4=s1+" " + s2+" "+ s3
print [s4]#Output:Welcome to python
3

Nối các đối tượng danh sách

ví dụ 1. Nối hai đối tượng danh sách

s1="Welcome"
s2="to"
s3="python"
s4=s1+" " + s2+" "+ s3
print [s4]#Output:Welcome to python
4

ví dụ 2. Áp dụng các hàm đã sắp xếp [] vào danh sách trong khi nối

s1="Welcome "
s2="to "
s3="python"
s4=s1+s2+s3
print [s4]#Output:Welcome to python
0

Sự khác biệt giữa nối danh sách và gọi phương thức mở rộng trong danh sách

Nối hai danh sách sẽ dẫn đến một đối tượng danh sách mới, nhưng gọi phương thức mở rộng sẽ tự cập nhật danh sách ban đầu. Kiểu trả về của nó là

s1="Welcome"
s2="to"
s3="python"
s4=s1+" " + s2+" "+ s3
print [s4]#Output:Welcome to python
6

s1="Welcome "
s2="to "
s3="python"
s4=s1+s2+s3
print [s4]#Output:Welcome to python
1

Nối không được hỗ trợ bởi bộ và từ điển

Điều này sẽ làm tăng TypeError

s1="Welcome "
s2="to "
s3="python"
s4=s1+s2+s3
print [s4]#Output:Welcome to python
2

sự lặp lại

Các kiểu dữ liệu chuỗi [cả có thể thay đổi và không thay đổi] hỗ trợ toán tử lặp lại

s1="Welcome"
s2="to"
s3="python"
s4=s1+" " + s2+" "+ s3
print [s4]#Output:Welcome to python
7Toán tử lặp lại
s1="Welcome"
s2="to"
s3="python"
s4=s1+" " + s2+" "+ s3
print [s4]#Output:Welcome to python
7 sẽ tạo nhiều bản sao của đối tượng cụ thể đó và kết hợp chúng lại với nhau. Khi * được sử dụng với một số nguyên, nó thực hiện phép nhân nhưng với danh sách, bộ hoặc chuỗi, nó thực hiện
s1="Welcome"
s2="to"
s3="python"
s4=s1+" " + s2+" "+ s3
print [s4]#Output:Welcome to python
9

cú pháp

s1="Welcome"
s2="to"
s3="python"
s4=[3.8]
s5=s1+s2+s3+s4
#Output:TypeError: can only concatenate str [not "list"] to str
0

ví dụ 1. Toán tử lặp trên Chuỗi

s1="Welcome "
s2="to "
s3="python"
s4=s1+s2+s3
print [s4]#Output:Welcome to python
3

ví dụ 2. Toán tử lặp trên Danh sách

Các mục trong chuỗi không được sao chép nhưng được tham chiếu nhiều lần

s1="Welcome "
s2="to "
s3="python"
s4=s1+s2+s3
print [s4]#Output:Welcome to python
4

ví dụ 3. Toán tử lặp trong danh sách lồng nhau

Các mục trong chuỗi không được sao chép, chúng được tham chiếu nhiều lần.
______61

Các phần tử trong danh sách l2 đang đề cập đến cùng một phần tử trong danh sách l1. Vì vậy, sửa đổi bất kỳ thành phần nào của danh sách l1 cũng sẽ sửa đổi danh sách l2

s1="Welcome "
s2="to "
s3="python"
s4=s1+s2+s3
print [s4]#Output:Welcome to python
5

Ảnh của tác giả

Ví dụ 4. Toán tử lặp lại trên một đối tượng tuple

s1="Welcome "
s2="to "
s3="python"
s4=s1+s2+s3
print [s4]#Output:Welcome to python
6

Ví dụ 5. Giá trị lặp lại được cho là 0

Khi một giá trị nhỏ hơn hoặc bằng 0 được đưa ra, nó sẽ trả về một chuỗi trống cùng loại

s1="Welcome "
s2="to "
s3="python"
s4=s1+s2+s3
print [s4]#Output:Welcome to python
7

Ví dụ 6. Toán tử

s1="Welcome"
s2="to"
s3="python"
s4=[3.8]
s5=s1+s2+s3+s4
#Output:TypeError: can only concatenate str [not "list"] to str
2 trên đối tượng int

Nó sẽ thực hiện thao tác nhân cho đối tượng int

s1="Welcome "
s2="to "
s3="python"
s4=s1+s2+s3
print [s4]#Output:Welcome to python
8

Ví dụ 7. Toán tử lặp lại trên tập hợp và đối tượng từ điển

Nó sẽ nâng cao

s1="Welcome"
s2="to"
s3="python"
s4=s1+" " + s2+" "+ s3
print [s4]#Output:Welcome to python
3

s1="Welcome "
s2="to "
s3="python"
s4=s1+s2+s3
print [s4]#Output:Welcome to python
9

Toán tử lặp so với hàm repeat[]

repeat[]
Điều này tạo ra một trình vòng lặp trả về đối tượng nhiều lần và chạy vô thời hạn trừ khi đối số thời gian được đề cập. Nếu đối số lần không được đề cập, nó sẽ trả về một trình vòng lặp vô hạn. Set, dictionary và kiểu dữ liệu cũng được hỗ trợ trong hàm repeat[]. Phương pháp này được hỗ trợ bởi mô-đun itertools. —

s1="Welcome"
s2="to"
s3="python"
s4=s1+" " + s2+" "+ s3
print [s4]#Output:Welcome to python
0

Sự kết luận

Các toán tử nối và lặp lại chỉ được hỗ trợ bởi các kiểu dữ liệu chuỗi ngoại trừ khi có đối tượng phạm vi. Cả phép nối và phép lặp luôn dẫn đến một đối tượng mới. Việc nối chỉ được thực hiện giữa các kiểu dữ liệu giống nhau và sự khác biệt giữa danh sách nối và phương thức mở rộng là kết quả nối trong một đối tượng danh sách mới trong đó phần mở rộng[] sẽ cập nhật danh sách ban đầu. Việc lặp lại cũng có thể được thực hiện bằng cách sử dụng phương thức repeat[] và điều này sẽ trả về một trình vòng lặp. Các kiểu dữ liệu từ điển và tập hợp cũng được hỗ trợ trong hàm repeat[]

Tài nguyên

Xem không gian này để biết thêm các bài viết về Python và Khoa học dữ liệu. Nếu bạn muốn đọc thêm các hướng dẫn của tôi, hãy theo dõi tôi trên Medium, LinkedIn, Twitter

lặp lại trong danh sách là gì?

Toán tử lặp lại tạo nhiều bản sao của một danh sách và nối tất cả chúng lại với nhau . Danh sách có thể được tạo bằng cách sử dụng toán tử lặp lại, *.

Sự lặp lại trong ví dụ Python là gì?

Ký hiệu * thường được sử dụng để biểu thị phép nhân, tuy nhiên, nó trở thành toán tử lặp lại khi toán hạng ở phía bên trái của * là một bộ. Toán tử lặp lại sao chép một bộ và liên kết tất cả chúng lại với nhau .

Toán tử nào được sử dụng để lặp lại một danh sách?

Vòng lặp là cơ chế chung để thể hiện sự lặp lại trong mã

Chủ Đề