Python Django如果值在列表中
下面的代码返回Python Django如果值在列表中,python,django,list,Python,Django,List,下面的代码返回8: resume_menu_a_detail_val = settings.MENU_DETAIL_VALUE_A_DETAILS #8 下面的代码返回此列表:[u'0',u'1',u'22',u'2',u'3',u'4',u'5',u'26',u'6',u'7',u'23',u'8',u'9',u'25',u'11',u'12',u'10',u'13',u'14',u'27',u'15',u'24',u'16',u'17',u'18',u'19',u'20',u'21'] r
8
:
resume_menu_a_detail_val = settings.MENU_DETAIL_VALUE_A_DETAILS #8
下面的代码返回此列表:[u'0',u'1',u'22',u'2',u'3',u'4',u'5',u'26',u'6',u'7',u'23',u'8',u'9',u'25',u'11',u'12',u'10',u'13',u'14',u'27',u'15',u'24',u'16',u'17',u'18',u'19',u'20',u'21']
resume_menu_list01 = request.user.get_profile().selected_resume_menu_entries.split(',')
下面的if
语句将始终返回false条件(列表中有8
的值):
如何让if语句识别列表中的8
另外,如何将列表从最低值排序到最高值?您正在尝试将整数
8
查找到包含字符'8'
的字符串中。因此它的说法没有找到
您可能需要将if更改为搜索字符'8'
#--v use str()
if str(resume_menu_a_detail_val) in resume_menu_list01:
return {'resume_menu_list01': 'TRUE'}
else:
return {'resume_menu_list01': 'FALSE'}
您试图在包含字符
'8'
的字符串中查找整数8
。因此它的说法没有找到
您可能需要将if更改为搜索字符'8'
#--v use str()
if str(resume_menu_a_detail_val) in resume_menu_list01:
return {'resume_menu_list01': 'TRUE'}
else:
return {'resume_menu_list01': 'FALSE'}
您试图在包含字符
'8'
的字符串中查找整数8
。因此它的说法没有找到
您可能需要将if更改为搜索字符'8'
#--v use str()
if str(resume_menu_a_detail_val) in resume_menu_list01:
return {'resume_menu_list01': 'TRUE'}
else:
return {'resume_menu_list01': 'FALSE'}
您试图在包含字符
'8'
的字符串中查找整数8
。因此它的说法没有找到
您可能需要将if更改为搜索字符'8'
#--v use str()
if str(resume_menu_a_detail_val) in resume_menu_list01:
return {'resume_menu_list01': 'TRUE'}
else:
return {'resume_menu_list01': 'FALSE'}
您正在比较字符串和整数;它们的类型不同,因此它们不相等:
>>> u'8' == 8
False
它们可以打印相同的内容,但它们不是相同的东西。您必须将整数转换为unicode()
字符串:
if unicode(resume_menu_a_detail_val) in resume_menu_list01:
要排序resume\u menu\u list01
,只需在其上调用.sort()
:
resume_menu_list01.sort()
这将按字典顺序对其进行排序;按其性质顺序排列<例如,代码>'21'在'3'
之前排序。要进行数字排序,您需要告诉sort()
将每个值转换为整数进行比较:
resume_menu_list01.sort(key=int)
有关详细信息,请参阅。您正在比较字符串和整数;它们的类型不同,因此它们不相等:
>>> u'8' == 8
False
它们可以打印相同的内容,但它们不是相同的东西。您必须将整数转换为unicode()
字符串:
if unicode(resume_menu_a_detail_val) in resume_menu_list01:
要排序resume\u menu\u list01
,只需在其上调用.sort()
:
resume_menu_list01.sort()
这将按字典顺序对其进行排序;按其性质顺序排列<例如,代码>'21'在'3'
之前排序。要进行数字排序,您需要告诉sort()
将每个值转换为整数进行比较:
resume_menu_list01.sort(key=int)
有关详细信息,请参阅。您正在比较字符串和整数;它们的类型不同,因此它们不相等:
>>> u'8' == 8
False
它们可以打印相同的内容,但它们不是相同的东西。您必须将整数转换为unicode()
字符串:
if unicode(resume_menu_a_detail_val) in resume_menu_list01:
要排序resume\u menu\u list01
,只需在其上调用.sort()
:
resume_menu_list01.sort()
这将按字典顺序对其进行排序;按其性质顺序排列<例如,代码>'21'在'3'
之前排序。要进行数字排序,您需要告诉sort()
将每个值转换为整数进行比较:
resume_menu_list01.sort(key=int)
有关详细信息,请参阅。您正在比较字符串和整数;它们的类型不同,因此它们不相等:
>>> u'8' == 8
False
它们可以打印相同的内容,但它们不是相同的东西。您必须将整数转换为unicode()
字符串:
if unicode(resume_menu_a_detail_val) in resume_menu_list01:
要排序resume\u menu\u list01
,只需在其上调用.sort()
:
resume_menu_list01.sort()
这将按字典顺序对其进行排序;按其性质顺序排列<例如,代码>'21'在'3'
之前排序。要进行数字排序,您需要告诉sort()
将每个值转换为整数进行比较:
resume_menu_list01.sort(key=int)
有关详细信息,请参阅。感谢您的帮助。很好!谢谢你的帮助。很好!谢谢你的帮助。很好!谢谢你的帮助。很好!