gpt4 book ai didi

python - 将列表对象缩短为仅数字并在 Python 中创建新列表

转载 作者:太空宇宙 更新时间:2023-11-03 13:57:21 24 4
gpt4 key购买 nike

我有一个包含几百个日期的列表,但我只需要过滤掉格式为 hhmmss 的时间(不:介于两者之间,以便稍后我可以将它们转换为 int)。

到目前为止,我的列表如下所示:

list_dates = ['Fri Nov 30 15:56:43 +0000 2018', 'Fri Nov 30 15:56:44 +0000 2018', 'Fri Nov 30 15:56:45 +0000 2018', 'Fri Nov 30 15:56:46 +0000 2018', ... ]

目前我的做法是:

raw_list = []
new_list = []

def ConversionStrings():

j = 0
while j < (len(list_dates)+1):

for j in list_dates:

raw_list.append((list_dates[j])[11:19])
j += 1

i = 0
while i < len(raw_list):

for i in raw_list:
item = (raw_list[i]).replace(":", "")
new_list.append(item)
i += 1

显然这行不通,但我不知道我做错了什么,因为我是 Python 的新手。我得到的错误是这个,它指的是 for 循环中的 j

 TypeError: list indices must be integers or slices, not str

如何更改我的代码以获得此输出?或者是否有更简单的方法来解决这个问题?

 >>> new_list = [155643, 155644, 155645, ... ]

最佳答案

您的问题出在这部分代码上:

j = 0
while j < (len(list_dates)+1):

for j in list_dates:

raw_list.append((list_dates[j])[11:19])
j += 1

list_dates中的每一个j都是数组的一个元素,并不是某个元素的索引。因此,当您尝试使用 list_dates[j] 获取 list_dates 的第 j 元素时,您将传入一个 str 作为数组的索引,这没有意义。您应该像在外循环中那样使用另一个 while 循环,或者使用 for k in range(len(list_dates)) 或类似的东西。

关于python - 将列表对象缩短为仅数字并在 Python 中创建新列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53618033/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com