将字符串解析为int会导致python中的ValueError

2024-10-02 22:35:56 发布

您现在位置:Python中文网/ 问答频道 /正文

由于某些原因,int(str)导致了一个错误。我不明白为什么。我想知道有没有人能告诉我为什么。你知道吗

cx4_list_reduce = ['[#1]',(1,3,5),(7,6,9)]
list2= ['[#2]',(2,5,4), (1,3,5), (5,8,1), (7,2,6)]
n2 =3
for process_tuple in cx4_list_reduce:
      d_num = ""
      if process_tuple == list2[0]:
            d_num = process_tuple[2:3]
      n1 = int(d_num)
      if n1 <= n2:
           print('n1 =< n2')
           continue
      else:
            print('n1 => n2')

错误:invalid literal for int() with base 10: ''


Tags: reduceforif错误原因processnumlist
1条回答
网友
1楼 · 发布于 2024-10-02 22:35:56

仔细观察情况:

d_num = ""
if process_tuple == list2[0]:
    d_num = process_tuple[2:3]

那么当if测试是False(当值不等于list2[0])时会发生什么呢?d_num仍然是一个空字符串,不能将其转换为整数。你知道吗

错误消息确切地告诉您;invalid literal for int() with base 10: ''告诉您不能转换空字符串。你知道吗

cx4_list_reduce列表中的第一个值是'[#1]',并且该字符串不等于list2[0]'[#1]不等于'[#2]'),因此上述相等测试失败。你知道吗

相关问题 更多 >