Hướng dẫn how to add hyphen in string in python - cách thêm dấu gạch nối vào chuỗi trong python

Vì vậy, tôi biết chuỗi Python là bất biến, nhưng tôi có một chuỗi:

c['date'] = "20110104"

Mà tôi muốn chuyển đổi thành

c['date'] = "2011-01-04"

Mã của tôi:

c['date'] = c['date'][0:4] + "-" + c['date'][4:6] + "-" + c['date'][6:]

Có vẻ hơi phức tạp, không? Sẽ tốt nhất để lưu nó như một biến riêng biệt và sau đó làm như vậy? Hoặc về cơ bản sẽ không có sự khác biệt?

hỏi ngày 17 tháng 1 năm 2013 lúc 20:55Jan 17, 2013 at 20:55

Hướng dẫn how to add hyphen in string in python - cách thêm dấu gạch nối vào chuỗi trong python

Bạn có thể sử dụng

c['date'] = "2011-01-04"
1 để làm sạch nó một chút:

d = c['date']
'-'.join([d[:4], d[4:6], d[6:]])

Đã trả lời ngày 17 tháng 1 năm 2013 lúc 20:59Jan 17, 2013 at 20:59

3

Ngày là các đối tượng hạng nhất trong Python, với giao diện phong phú để thao túng chúng. Thư viện là DateTime.

> import datetime
> datetime.datetime.strptime('20110503','%Y%m%d').date().isoformat()
'2011-05-03'

Đừng phát minh lại bánh xe!

Đã trả lời ngày 17 tháng 1 năm 2013 lúc 22:51Jan 17, 2013 at 22:51

Đại tá Paniccolonel hoảng loạnColonel Panic

129K83 Huy hiệu vàng389 Huy hiệu bạc457 Huy hiệu Đồng83 gold badges389 silver badges457 bronze badges

1

Bạn nên sử dụng định dạng chuỗi hơn là nối chuỗi

c['date'] = '{}-{}-{}'.format(c['date'][0:4], c['date'][4:6], c['date'][6:])

Sự kết hợp chuỗi thường chậm hơn vì như bạn đã nói ở trên là bất biến.

Đã trả lời ngày 17 tháng 1 năm 2013 lúc 20:59Jan 17, 2013 at 20:59

Ngày là các đối tượng hạng nhất trong Python, với giao diện phong phú để thao túng chúng. Thư viện là DateTime.GWW

Đừng phát minh lại bánh xe!11 gold badges110 silver badges107 bronze badges

s = '20110104'


def option_1():
    return '-'.join([s[:4], s[4:6], s[6:]])

def option_1a():
    return '-'.join((s[:4], s[4:6], s[6:]))

def option_2():
    return '{}-{}-{}'.format(s[:4], s[4:6], s[6:])

def option_3():
    return '%s-%s-%s' % (s[:4], s[4:6], s[6:])

def option_original():
    return s[:4] + "-" + s[4:6] + "-" + s[6:]

Đã trả lời ngày 17 tháng 1 năm 2013 lúc 22:51

  • Đại tá Paniccolonel hoảng loạn
  • 129K83 Huy hiệu vàng389 Huy hiệu bạc457 Huy hiệu Đồng
  • Bạn nên sử dụng định dạng chuỗi hơn là nối chuỗi
  • Sự kết hợp chuỗi thường chậm hơn vì như bạn đã nói ở trên là bất biến.
  • GWWGWW

42.1k11 Huy hiệu vàng110 Huy hiệu bạc107 Huy hiệu đồng

Chạy

c['date'] = "2011-01-04"
2 trên mỗi mang lại những kết quả nàyJan 17, 2013 at 21:06

Tùy chọn_1: 35,9 ns mỗi vòngRob Cowie

Tùy chọn_1a: 35,8 ns mỗi vòng6 gold badges61 silver badges56 bronze badges

0

Tùy chọn_2: 36 ns mỗi vòng lặp

d = c['date']
c['date'] = '%s-%s-%s' % (d[:4], d[4:6], d[6:])

Tùy chọn_3: 35,8 ns mỗi vòng

Đã trả lời ngày 17 tháng 1 năm 2013 lúc 20:59Jan 17, 2013 at 20:59

Hướng dẫn how to add hyphen in string in python - cách thêm dấu gạch nối vào chuỗi trong python

g.d.d.cg.d.d.cg.d.d.c

Ngày là các đối tượng hạng nhất trong Python, với giao diện phong phú để thao túng chúng. Thư viện là DateTime.8 gold badges99 silver badges110 bronze badges

Đừng phát minh lại bánh xe!

import re    
c['date']=re.sub(r'.*(\w{4})(\w{2})(\w{2}).*',r"\1-\2-\3",c['date'])

Đã trả lời ngày 17 tháng 1 năm 2013 lúc 22:51Jan 17, 2013 at 22:03

Đại tá Paniccolonel hoảng loạn

from datetime import datetime
result = datetime.strptime(c['date'], '%Y%m%d')
print result.date().isoformat()

129K83 Huy hiệu vàng389 Huy hiệu bạc457 Huy hiệu Đồng

Bạn nên sử dụng định dạng chuỗi hơn là nối chuỗi

Sự kết hợp chuỗi thường chậm hơn vì như bạn đã nói ở trên là bất biến.Jan 17, 2013 at 23:09

user1613017user1613017user1613017

GWWGWW2 gold badges11 silver badges8 bronze badges

42.1k11 Huy hiệu vàng110 Huy hiệu bạc107 Huy hiệu đồng

Chạy
c['date'] = "2011-01-04"
2 trên mỗi mang lại những kết quả này

Tùy chọn_1: 35,9 ns mỗi vòngMay 14, 2020 at 12:37

Hướng dẫn how to add hyphen in string in python - cách thêm dấu gạch nối vào chuỗi trong python

Tôi có thể sử dụng dấu gạch nối trong Python không?

Các gói và mô -đun Python không thể sử dụng dấu gạch nối, chỉ nhấn mạnh.Phần này của PEP-8 cung cấp cho chúng tôi hướng dẫn: Tên gói và tên mô-đun: Các mô-đun nên có tên ngắn, toàn bộ.Dấu gạch dưới có thể được sử dụng trong tên mô -đun nếu nó cải thiện khả năng đọc., only underscores. This section of PEP-8 gives us guidance: Package and Module Names: Modules should have short, all-lowercase names. Underscores can be used in the module name if it improves readability.

S %% trong Python là gì?

Các thực tiễn tốt nhất để sử dụng %s và %D trong các nhà xác định chuyển đổi Python như %s và %D xuất hiện trong chuỗi định dạng dưới dạng người giữ chỗ của Hồi giáo cùng với văn bản bình thường.Các nhà xác định này chỉ ra cách hoạt động sẽ định dạng các giá trị được chèn.Conversion specifiers such as %s and %d appear in the format string as “placeholders” along with normal text. These specifiers dictate how the operation will format the inserted values.

%S và %d trong Python là gì?

%s hoạt động một trình giữ chỗ cho một chuỗi trong khi %D hoạt động như một trình giữ chỗ cho một số.Các giá trị liên quan của chúng được truyền qua thông qua một tuple bằng toán tử %.. Their associated values are passed in via a tuple using the % operator.