Tôi chỉ muốn chia từng phần tử trong một danh sách cho một int.
myList = [10,20,30,40,50,60,70,80,90]
myInt = 10
newList = myList/myInt
Đây là lỗi:
TypeError: unsupported operand type[s] for /: 'list' and 'int'
Tôi hiểu tại sao tôi nhận được lỗi này. Nhưng tôi thất vọng vì tôi không thể tìm thấy một giải pháp.
Cũng đã thử:
newList = [ a/b for a, b in [myList,myInt]]
Error:
ValueError: too many values to unpack
Kết quả dự kiến:
newList = [1,2,3,4,5,6,7,8,9]
EDIT:
Mã sau đây cho tôi kết quả dự kiến của tôi:
newList = []
for x in myList:
newList.append[x/myInt]
Nhưng có một cách dễ dàng hơn/nhanh hơn để làm điều này?
Tóm tắt: Cách tiếp cận pythonic nhất để phân chia từng yếu tố trong danh sách là sử dụng danh sách hiểu biết sau:
1.The most Pythonic approach to divide each element in a list is to use the following list comprehension: newList = [ a/b for a, b in [myList,myInt]]
newList = [ a/b for a, b in [myList,myInt]]
1.Đọc trước để khám phá nhiều giải pháp khác.
Vấn đề: Làm thế nào để chia mỗi phần tử trong một danh sách và trả về một danh sách kết quả chứa các chỉ số?How to divide each element in a list and return a resultant list containing the quotients?
Thí dụ:
li = [38, 57, 76, 95, 114, 161.5] num = 19 # Some way to divide each element of li with 19
Đầu ra dự kiến:
[2.0, 3.0, 4.0, 5.0, 6.0, 8.5]
Vì vậy, không chậm trễ hơn nữa, chúng ta hãy đi sâu vào câu hỏi quan trọng của nhiệm vụ và tìm ra những cách khác nhau để giải quyết nó.
- Video hướng dẫn
- Phương pháp 1: Sử dụng một vòng lặp cho vòng lặp
- Phương pháp 2: Sử dụng danh sách hiểu biết
- Phương pháp 3: Sử dụng bản đồ và Lambda
- Phương pháp 4: Sử dụng Numpy
- Sự kết luận
Video hướng dẫn
Phương pháp 1: Sử dụng một vòng lặp cho vòng lặp
Phương pháp 1: Sử dụng một vòng lặp cho vòng lặp
Phương pháp 2: Sử dụng danh sách hiểu biết
- Phương pháp 3: Sử dụng bản đồ và Lambda
- Phương pháp 4: Sử dụng Numpyfor loop.
- Cách chia từng phần tử trong danh sách trong Python
- Cách tiếp cận:
Code:
li = [38, 57, 76, 95, 114, 161.5] num = 19 res = [] for val in li: res.append[val/num] print[res]
Output:
[2.0, 3.0, 4.0, 5.0, 6.0, 8.5]
Tạo một danh sách trống sẽ lưu trữ các chỉ số.Read Here: Python Loops
Phương pháp 2: Sử dụng danh sách hiểu biết
Phương pháp 3: Sử dụng bản đồ và Lambda
Phương pháp 4: Sử dụng NumpyCreate a list comprehension such that:
- Cách chia từng phần tử trong danh sách trong Python
2 represents the division of each element in the list by the given divisor. Here the context variablenewList = [ a/b for a, b in [myList,myInt]]
3 represents each element in the given list whilenewList = [ a/b for a, b in [myList,myInt]]
4 represents the divisor.newList = [ a/b for a, b in [myList,myInt]]
- Cách tiếp cận:The context contains the context
variable
3, which ranges across all the elements within the list such that in each iteration, it represents an element at a particular index at that iteration.newList = [ a/b for a, b in [myList,myInt]]
Code:
TypeError: unsupported operand type[s] for /: 'list' and 'int'
0Output:
[2.0, 3.0, 4.0, 5.0, 6.0, 8.5]
Tạo một danh sách trống sẽ lưu trữ các chỉ số.A quick recap to List Comprehensions in Python:
Lặp lại trên tất cả các yếu tố trong danh sách đã cho bằng cách sử dụng một vòng lặp. is a compact way of creating lists. The simple formula is
newList = [ a/b for a, b in [myList,myInt]]
6.⦿ Expression: What to do with each list element?
⦿ Context: What elements to select? The context consists of an arbitrary number of
newList = [ a/b for a, b in [myList,myInt]]
7 and newList = [ a/b for a, b in [myList,myInt]]
8 statements.⦿ The example
newList = [ a/b for a, b in [myList,myInt]]
9 creates the list ValueError: too many values to unpack
0.📌RECOMMADS ĐỌC: Danh sách hiểu trong Python - Hướng dẫn minh họa hữu íchRecommended Read: List Comprehension in Python — A Helpful Illustrated Guide
Phương pháp 3: Sử dụng bản đồ và Lambda
Cách tiếp cận: Ý tưởng ở đây là sử dụng hàm
1 ẩn danh để tính toán sự phân chia của từng phần tử với ước số đã cho. Bạn có thể chuyển từng phần tử của danh sách cho hàm ValueError: too many values to unpack
1 dưới dạng đầu vào với sự trợ giúp của hàm ValueError: too many values to unpack
3 tích hợp.The idea here is to use an anonymous ValueError: too many values to unpack
ValueError: too many values to unpack
1 function to calculate the division of each element with the given divisor. You can pass each element of the list to the ValueError: too many values to unpack
1 function as an input with the help of the built-in ValueError: too many values to unpack
3 function.Code:
TypeError: unsupported operand type[s] for /: 'list' and 'int'
2Output:
[2.0, 3.0, 4.0, 5.0, 6.0, 8.5]
💎raders Digest:Readers Digest:
- Chức năng & nbsp; ____ 34 & nbsp; biến một hoặc nhiều lần lặp thành một hàm mới bằng cách áp dụng hàm biến đổi của máy tính thành các phần tử thứ i của mỗi phần tử. Các đối số là & nbsp; đối tượng chức năng biến đổi & nbsp; và & nbsp; một hoặc nhiều lần lặp. Nếu bạn vượt qua & nbsp; n & nbsp; iterables & nbsp; làm đối số, hàm biến đổi phải là một chức năng & nbsp; n-ary & nbsp; lấy & nbsp; n & nbsp; đối số đầu vào. Giá trị trả về là một đối tượng bản đồ có thể lặp lại của các yếu tố được chuyển đổi và có thể tổng hợp.n iterables as arguments, the transformator function must be an n-ary function taking n input arguments. The return value is an iterable map object of transformed, and possibly aggregated, elements.
Làm chủ hàm bản đồ Python [+Video]
Đọc thêm về
ValueError: too many values to unpack
4 TẠI ĐÂY: Python Map [] - Cuối cùng là thành thạo hàm bản đồ Python [+Video]Read more about ValueError: too many values to unpack
4 here: Python map[] — Finally Mastering the Python Map Function [+Video]- Hàm Lambda là một hàm ẩn danh trong Python. & NBSP; Nó bắt đầu bằng từ khóa & nbsp; ________ 31, tiếp theo là một danh sách được phân tách bằng dấu phẩy hoặc nhiều đối số, tiếp theo là dấu hai chấm và biểu thức trả về. Ví dụ: & nbsp; ________ 37 & nbsp; sẽ tính tổng của ba giá trị đối số & nbsp; ________ 38.is an anonymous function in Python. It starts with the keyword
1, followed by a comma-separated list of zero or more arguments, followed by the colon and the return expression. For example,ValueError: too many values to unpack
7 would calculate the sum of the three argument valuesValueError: too many values to unpack
8.ValueError: too many values to unpack
Hãy chơi Finxter - Chức năng Lambda trong Python
📌 Đọc thêm về
ValueError: too many values to unpack
4 TẠI ĐÂY: Chức năng của Lambda trong Python: Giới thiệu đơn giảnRead more about ValueError: too many values to unpack
4 here:
Lambda Functions in Python: A Simple IntroductionPhương pháp 4: Sử dụng Numpy
Một cách giải quyết đơn giản khác cho vấn đề đã cho là sử dụng thư viện
newList = [1,2,3,4,5,6,7,8,9]
0. Ở đây bạn có hai tùy chọn hoặc cách tiếp cận sẽ giúp bạn suy ra đầu ra.4.1 Sử dụng bộ phận / toán tử
- Chuyển đổi danh sách đã cho thành mảng
0 bằng phương thứcnewList = [1,2,3,4,5,6,7,8,9]
2.newList = [1,2,3,4,5,6,7,8,9]
- Chia từng phần tử của mảng này với ước số đã cho bằng cách sử dụng toán tử phân chia//.division operator “/”.
- Để tạo danh sách kết quả từ mảng đầu ra, bạn có thể sử dụng phương thức
3.newList = [1,2,3,4,5,6,7,8,9]
Code:
TypeError: unsupported operand type[s] for /: 'list' and 'int'
4Output:
[2.0, 3.0, 4.0, 5.0, 6.0, 8.5]
4.2 Sử dụng numpy.divide []
- Chuyển đổi danh sách đã cho thành mảng
0 bằng phương thứcnewList = [1,2,3,4,5,6,7,8,9]
2.newList = [1,2,3,4,5,6,7,8,9]
- Chia từng phần tử của mảng này với ước số đã cho bằng cách sử dụng toán tử phân chia//.
- Để tạo danh sách kết quả từ mảng đầu ra, bạn có thể sử dụng phương thức
3.newList = [1,2,3,4,5,6,7,8,9]
Code:
TypeError: unsupported operand type[s] for /: 'list' and 'int'
6Output:
[2.0, 3.0, 4.0, 5.0, 6.0, 8.5]
4.2 Sử dụng numpy.divide []A Quick Recap to numpy.divide[]
Chia từng phần tử của mảng này với ước số đã cho bằng hàm
newList = [1,2,3,4,5,6,7,8,9]
6.💎a tóm tắt nhanh để numpy.divide []
Here:
- Cú pháp:represents the Dividend array.
8represents the Divisor array.TypeError: unsupported operand type[s] for /: 'list' and 'int'
- X1 đại diện cho mảng cổ tức.
x2 đại diện cho mảng chia.
TypeError: unsupported operand type[s] for /: 'list' and 'int'
9Output:
newList = [ a/b for a, b in [myList,myInt]]
0Các tham số khác là tùy chọn. Đọc về họ ở đây.Related Article: The Ultimate Guide to NumPy
Khi bạn có nhiều quy trình phân chia đang diễn ra, bạn có thể tăng tốc đáng kể bằng cách sử dụng phân chia numpy. Nó không chỉ cho phép bạn thực hiện bộ phận yếu tố khôn ngoan mà điều này còn hoạt động trên các mảng numpy đa chiều. Ví dụ: Check out our interactive puzzle book Coffee Break NumPy and boost your data science skills! [Amazon link opens in new tab.]
Bài viết liên quan: & NBSP; Hướng dẫn cuối cùng về Numpy
Bạn có muốn trở thành một bậc thầy không? Kiểm tra cuốn sách câu đố tương tác của chúng tôi Coffee Break Numpy và tăng cường kỹ năng khoa học dữ liệu của bạn! [Liên kết Amazon mở trong tab mới.]subscribe and stay tuned for more interesting tutorials. Happy learning! 🙂
Sự kết luận
Chúng tôi đã học thành công bốn cách phân chia các yếu tố khác nhau trong một danh sách nhất định với một số nhất định. Tôi hy vọng hướng dẫn này đã giúp trả lời tất cả các truy vấn của bạn. Vui lòng đăng ký và theo dõi các hướng dẫn thú vị hơn. Học hỏi! 🙂web scraping . Make no mistake: extracting data programmatically from web sites is a critical life-skill in today’s world that’s shaped by the web and remote work. This course teaches you the ins and outs of Python’s BeautifulSoup library for web scraping.
Web cào bằng đẹp
Một trong những kỹ năng được tìm kiếm nhiều nhất trên Fiverr và Upwork là & nbsp; Scraping Web & nbsp ;. Đừng nhầm lẫn: & NBSP; Trích xuất dữ liệu theo chương trình từ các trang web & nbsp; là một kỹ năng sống quan trọng trong thế giới ngày nay, được định hình bởi web và công việc từ xa. Khóa học này dạy cho bạn thư viện & nbsp; Python, BeautifulSoup Library & nbsp; để quét web.
Tôi là một blogger Python chuyên nghiệp và người tạo nội dung. Tôi đã xuất bản nhiều bài báo và tạo ra các khóa học trong một khoảng thời gian. Hiện tại tôi đang làm việc như một freelancer toàn thời gian và tôi có kinh nghiệm trong các lĩnh vực như Python, AWS, DevOps và Mạng.
LinkedIn