Hướng dẫn how do you convert comma separated numbers to integers in python? - làm thế nào để bạn chuyển đổi các số được phân tách bằng dấu phẩy thành số nguyên trong python?

Cũng có một cách đơn giản để làm điều này cũng nên xử lý các vấn đề quốc tế hóa:

>>> import locale
>>> locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')
'en_US.UTF-8'
>>> locale.atoi("1,000,000")
1000000
>>> 

Tôi thấy rằng tôi phải đặt rõ ràng địa phương trước như trên, nếu không nó không hoạt động với tôi và tôi kết thúc với một dấu vết xấu xí thay thế: thay vào đó:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.6/locale.py", line 296, in atoi
    return atof(str, int)
  File "/usr/lib/python2.6/locale.py", line 292, in atof
    return func(string)
ValueError: invalid literal for int() with base 10: '1,000,000'

Chuyển đổi chuỗi được phân tách bằng dấu phẩy thành danh sách các số nguyên trong Python #

Để chuyển đổi một chuỗi được phân tách bằng dấu phẩy thành danh sách các số nguyên:

  1. Sử dụng phương thức str.split() để phân chia chuỗi trên mỗi lần xuất hiện của dấu phẩy.
  2. Sử dụng danh sách hiểu để lặp lại trong danh sách các chuỗi.
  3. Sử dụng lớp
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/usr/lib/python2.6/locale.py", line 296, in atoi
        return atof(str, int)
      File "/usr/lib/python2.6/locale.py", line 292, in atof
        return func(string)
    ValueError: invalid literal for int() with base 10: '1,000,000'
    
    0 để chuyển đổi từng chuỗi thành một số nguyên.

Copied!

my_str = '1,2,3,4' my_list = [int(item) for item in my_str.split(',') if item.isdigit()] print(my_list) # 👉️ [1, 2, 3, 4]

Chúng tôi đã sử dụng phương thức str.split() để phân chia chuỗi trên mỗi lần xuất hiện của dấu phẩy.

Copied!

my_str = '1,2,3,4' print(my_str.split(',')) # 👉️ ['1', '2', '3', '4']

Bước tiếp theo là chuyển đổi từng chuỗi trong danh sách thành một số nguyên.

Chúng tôi đã sử dụng một danh sách hiểu để lặp lại trong danh sách các chuỗi.

Copied!

my_str = '1,2,3,4' my_list = [int(item) for item in my_str.split(',') if item.isdigit()] print(my_list) # 👉️ [1, 2, 3, 4]

Trên mỗi lần lặp, chúng tôi kiểm tra xem chuỗi hiện tại có phải là một chữ số không và nếu điều kiện được đáp ứng, chúng tôi chuyển đổi nó thành một số nguyên.

Phương thức str.isdigit trả về

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.6/locale.py", line 296, in atoi
    return atof(str, int)
  File "/usr/lib/python2.6/locale.py", line 292, in atof
    return func(string)
ValueError: invalid literal for int() with base 10: '1,000,000'
2 Nếu tất cả các ký tự trong chuỗi là các chữ số và có ít nhất 1 ký tự, nếu không
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.6/locale.py", line 296, in atoi
    return atof(str, int)
  File "/usr/lib/python2.6/locale.py", line 292, in atof
    return func(string)
ValueError: invalid literal for int() with base 10: '1,000,000'
3 được trả về.

Lớp INT trả về một đối tượng số nguyên được xây dựng từ số được cung cấp hoặc đối số chuỗi.

Nếu các chữ số trong chuỗi của bạn được phân tách bằng dấu phẩy và một hoặc nhiều khoảng trắng, hãy sử dụng phương thức

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.6/locale.py", line 296, in atoi
    return atof(str, int)
  File "/usr/lib/python2.6/locale.py", line 292, in atof
    return func(string)
ValueError: invalid literal for int() with base 10: '1,000,000'
4 để loại bỏ khoảng trắng trước khi kiểm tra xem chuỗi có phải là một chữ số không.

Copied!

my_str = '1, 2, 3, 4' my_list = [int(item) for item in my_str.split(',') if item.strip().isdigit()] print(my_list) # 👉️ [1, 2, 3, 4]

Phương thức str.strip trả về một bản sao của chuỗi với khoảng trắng dẫn đầu và dấu vết đã bị loại bỏ.

Nếu bạn có thể chắc chắn rằng chuỗi chỉ chứa các chữ số được phân tách bằng dấu phẩy, bạn không phải sử dụng phương thức

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.6/locale.py", line 296, in atoi
    return atof(str, int)
  File "/usr/lib/python2.6/locale.py", line 292, in atof
    return func(string)
ValueError: invalid literal for int() with base 10: '1,000,000'
5.

Copied!

my_str = '1,2,3,4' my_list = [int(item) for item in my_str.split(',')] print(my_list) # 👉️ [1, 2, 3, 4]

Nếu chuỗi của bạn có thể chứa dấu phẩy dẫn đầu hoặc dấu vết, hãy đảm bảo loại trừ bất kỳ phần tử chuỗi trống nào khỏi danh sách.

Copied!

my_str = ',1,2,3,4,' my_list = [int(item) for item in my_str.split(',') if item] print(my_list) # 👉️ [1, 2, 3, 4]

Chuỗi trong ví dụ có dấu phẩy dẫn đầu và dấu vết, do đó, việc chia tay trên một dấu phẩy trả về các yếu tố chuỗi trống.

Copied!

my_str = ',1,2,3,4,' print(my_str.split(',')) # 👉️ ['', '1', '2', '3', '4', '']

Bạn có thể sử dụng danh sách hiểu để loại trừ các chuỗi trống khỏi danh sách.

Làm cách nào để thay đổi dấu phẩy

Để chuyển đổi một chuỗi phân tách bằng dấu phẩy thành một mảng số: gọi phương thức chia () trên chuỗi để lấy một mảng chứa chuỗi con. Sử dụng phương thức bản đồ () để lặp qua mảng và chuyển đổi từng chuỗi thành một số.Phương thức bản đồ sẽ trả về một mảng mới chỉ chứa các số.Call the split() method on the string to get an array containing the substrings. Use the map() method to iterate over the array and convert each string to a number. The map method will return a new array containing only numbers.

Làm thế nào để bạn chuyển đổi nhiều chuỗi thành số nguyên trong Python?

Trong Python, một chuỗi có thể được chuyển đổi thành một số nguyên bằng hàm int () tích hợp.Hàm int () có trong bất kỳ loại dữ liệu python nào và chuyển đổi nó thành một số nguyên.using the built-in int() function. The int() function takes in any python data type and converts it into a integer.

Làm thế nào để bạn trích xuất dấu phẩy các giá trị tách biệt trong Python?

Phương thức phân chia chuỗi python () Phương thức chia () Phương thức chia chuỗi thành danh sách phân tách dấu phẩy.Nó phân tách chuỗi dựa trên dấu phân cách phân cách.Phương pháp này có hai tham số và cả hai đều là tùy chọn. Python split() method splits the string into a comma separated list. It separates string based on the separator delimiter. This method takes two parameters and both are optional.