如何使用isintance函数检查对象是否为python列表

如何使用isintance函数检查对象是否为python列表,python,Python,在第17行中,调用json_dumps()函数将[u'checkout\\\.google\\.com',u'wallet\\.google\\.com']转换为[checkout\\.google\\.com”,“wallet\.google\.com] 然后在第20行中,isinstance函数检查列表。如果对象是一个列表,它将返回true,否则返回false,但它返回false它应该是true,不是吗 在第23行中,data1变量包含数据变量的一个缩进值,并且还调用了isintance函数

在第17行中,调用json_dumps()函数将
[u'checkout\\\.google\\.com',u'wallet\\.google\\.com']
转换为
[checkout\\.google\\.com”,“wallet\.google\.com]
然后在第20行中,
isinstance
函数检查列表。如果对象是一个列表,它将返回true,否则返回false,但它返回false它应该是true,不是吗

在第23行中,data1变量包含数据变量的一个缩进值,并且还调用了
isintance
函数来检查列表对象,该函数返回true

为什么会发生这种情况有没有合适的方法来检查对象是否是列表,以及为什么数据和数据1即使看起来相同也不相等?

调用的结果是一个JSON格式的字符串,因此在执行该行之后:

import json
import requests
r=requests.get('https://raw.githubusercontent.com/AliasIO/Wappalyzer/master/src/apps.json')
wappalyzer=r.json()

def enumarate_keys(parent_key,json_obj):
    x=0
    enumarated_keys={}
    for key in json_obj[parent_key]:
        enumarated_keys[x]=key
        x=x+1
    return enumarated_keys
# enumerate tech
list_of_apps=enumarate_keys('apps',wappalyzer)
# enumerate properties of a tech
properties=enumarate_keys(list_of_apps[0],wappalyzer['apps'])
data=json.dumps(wappalyzer['apps'][list_of_apps[0]]['script']) #[u'checkout\\.google\\.com', u'wallet\\.google\\.com']
print '1st check i got false:\n'
print data #> ["checkout\\.google\\.com", "wallet\\.google\\.com"]
print isinstance(data, list) 
print '\n\n'
print 'second check i got true:\n'
data1=["checkout\\.google\\.com", "wallet\\.google\\.com"]
print isinstance(data1, list) 

print('\ncheck if data and data1 are equal:')
if data == data1:
    print 'equal'
else:
    print 'not equal'

数据
是一个字符串。这就是为什么
isinstance(data,list)
返回
False

你能用行号发布代码吗?当你写
打印类型(data)
时你会得到什么?这肯定会给你一个答案,你可以按照你展示的那样做:
isinstance(thing,list)
。更好的是,一般来说,你不检查它,就好像你有一个元组,它仍然可以;参见“鸭子打字”。除此之外,请简化为一个.dumps生成一个编码列表的Python字符串,而不是Python列表。
data=json.dumps(wappalyzer['apps'][list_of_apps[0]]['script']) #[u'checkout\\.google\\.com', u'wallet\\.google\\.com']