gpt4 book ai didi

python - 分割字符串ValueError : need more than 1 value to unpack

转载 作者:行者123 更新时间:2023-12-01 04:27:47 25 4
gpt4 key购买 nike

我正在尝试拆分字符串,但出现ValueError: need more over 1 value to unpack

我想我明白了,为什么会出现这个错误,它发生是因为没有值可以拆分吗?

基本上我有 for 循环从 xml 返回字符串

for channel in tree.findall("channel"):
title = channel.find('title').text
channelname,tvguide = title.split("[")
print(channelname,tvguide)

当我打印出标题时,我有这样的内容:

BeIN Sports 1HD [07:00 - 07:30] + 106.8 分钟 Auto Mundial

BeIN Sports 2HD 这里发生ValueError?

BeIN Sports 3HD [23:00 - 02:00] + 1216.8 分钟 都灵足球俱乐部 VS 美国巴勒莫城 - 意大利联赛(意甲)

BeIN Sports 4HD 这里发生ValueError?

BeIN Sports 5HD [05:30 - 07:15] + 91.8 分钟 马赛奥林匹克 VS 昂热 - 法国联赛 1 2015 - 2016 第 7 周

我的问题是,我如何修复 for 循环,以便即使某些字符串不包含 tvguide,它也会将所有标题拆分为 channel 名称和 tvguide?

例如,在没有 tvguide 的 channel 中(本例中为 BeIN Sports 2HD、BeIN Sports 4HD),应将 tvguide 设置为“”或类似内容。

大家有什么想法吗?

最佳答案

与其尝试分别分配 channel 名称和电视指南,不如使用 split 方法返回的列表。

for channel in tree.findall("channel"):
title = channel.find('title').text
description = title.split("[")
print description

这样您就不必担心 channel 是否有名称或电视指南,但要确保您在 channel 对象中获取字符串。

正如 Jon Clements 所建议的,我们仍然需要弄清楚它是否允许访问描述[1],正如他建议的一种优雅的方法是 str.partition

for channel in tree.findall("channel"):
title = channel.find('title').text
description = title.partition("[") # you get a tuple with three elements head, separator and tail.
#head is the portion before the separator, separator itself and tail the rest of the portion of the string
print description

关于python - 分割字符串ValueError : need more than 1 value to unpack,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32858053/

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