我有一个变量,其时间为H:M:S格式,如下所示
h2='00:00:01'
我想将其中的H部分更改为10,以便它变为
h2='10:00:01'
我尝试了下面的代码,但是它没有工作
h2.split(':')[0]=10
print(h2)
输出:
00:00:01
预期产出:
10:00:01
如何更改变量部分的值?
答案 0 :(得分:2)
你非常接近。
尝试:
h2='00:00:01'
h2 = h2.split(":")
h2[0] = '10'
print( ":".join(h2) )
如果您可以使用日期时间模块
import datetime
h2='00:00:01'
time = datetime.datetime.strptime(h2, "%H:%M:%S")
print( time.replace(hour=10).strftime("%H:%M:%S") )
<强>输出:强>
10:00:01
答案 1 :(得分:0)
您的意思是如何在适当的位置编辑字符串?你不能,python string是不可变的。您需要使用新值创建一个新字符串。你正在做的是以下
h2.split(':') # makes a new list ['00', '00', '01']
h2.split(':')[0] = 10 # mutate said lest so it now equals ['10', '00', '01']
# then you just send that list you made into the void, you never assign it to anything
相反,您需要创建一个新对象
h2 = '00:00:01'
h2_split = h2.split(':')
h2_split[0] = '10'
h3 = ':'.join(h2_split)
h2 = h3 # optionally reassign your original variable this new value