字典和列表的主要区别:
字典无“偏移量”
列表内的元素是有序的,两个列表,如果元素顺序 不同,这两个列表是不同的。
字典是用键值对来提取信息
{ ’ 键’ : 值 , ’ 键 ’ :值 }

del zidian['jian']

字典嵌套(这里有错误)

future = {{'ocean':'yes','coding':'okay','fishery':'will'},{'arduino':'i','openCV':'exciting'}}
TypeError: unhashable type: 'dict'
[{'ocean': 'yes', 'coding': 'okay', 'fishery': 'will'}, {'arduino': 'i', 'openCV': 'exciting'}]

有一个报错

future = [{'ocean':'yes','coding':'okay','fishery':'will'},{'arduino':'i','openCV':'exciting'}]
print(future)
print(future[0][1])
File "e:/python/dictonary.py", line 3, in <module>
    print(future[0][1])
KeyError: 1

好吧,有错了

future = [['ocean':'yes','coding':'okay','fishery':'will'],'['arduino':'i','openCV':'exciting']]
print(future)
print(future[0][1])
future = [['ocean':'yes','coding':'okay','fishery':'will'],'['arduino':'i','openCV':'exciting']]
SyntaxError: invalid syntax

这里的问题在于,列表里边的嵌套列表,用的是字典的,所以应该把 第二个 [ ] 改成 { }

列表的嵌套

lb = [['0','1','2'],['w','z','x'],['a,b,c']]
print (lb[2][0])
a,b,c

列表必须有 ’ ’ 不然会报错

列表嵌套字典

lb1 = [{'王':1,'稙':2,'鑫':3},{'a':4,'b':5,'c':6},['7','8,'9']]
print(lb1)

lb1 = [{‘王’:1,‘稙’:2,‘鑫’:3},{‘a’:4,‘b’:5,‘c’:6},[‘7’,'8,‘9’]]
^
SyntaxError: invalid syntax

看起来好像不能混合嵌套

 lb1 = [{'王':1,'稙':2,'鑫':3},{'a':4,'b':5,'c':6},['7','8',9']]
SyntaxError: EOL while scanning string literal
lb1 = [{'王':1,'稙':2,'鑫':3},{'a':4,'b':5,'c':6},['7','8','9']]
print(lb1)
[{'王': 1, '稙': 2, '鑫': 3}, {'a': 4, 'b': 5, 'c': 6}, ['7', '8', '9']]

所以,是可以混合嵌套的······
列表列的各个元素不需要 ’ ’
等等····我试试嵌套两个列表一个字典
和一个列表一个字典
是不是嵌套三个列表时需要
毕竟上边有一个列子是不加 ‘ ’ 把 6,7,8当成一个元素打印出来了

lb2 = [['c','d','e'],{'a':1,'b':2}]
print(lb2)
lb3 = [['o,p','q'],['f','g','h']]
print(lb3)
[['c', 'd', 'e'], {'a': 1, 'b': 2}]
[['o,p', 'q'], ['f', 'g', 'h']]

这里报错放在了这里····(所以感觉有些报错不一定是因为那里的错误)

lb4 = ['['o,p','q']'','['f','g','h']']
print(lb4)
lb4 = ['['o,p','q']','['f','g','h']']
lb5 = [['o','p','q'],'['f','g','h']']
print(lb5)
lb5 = [['o','p','q'],'['f','g','h']']
这里把第一个元素的‘’ 取消掉,报错在这里,验证了报错不一定就是那里错的观点····

列表嵌套的元素提取

lb2 = [['c','d','e'],{'a':1,'b':2}]
print(lb2)
print(lb2[0][0])
print(lb2[1]['b'])
[['c', 'd', 'e'], {'a': 1, 'b': 2}]
[['o,p', 'q'], ['f', 'g', 'h']]

字典嵌套列表

zd1 = {'组一':{'男':'小明','女':小王},'组二':{'雌':,'雄':}}
print(zd1)
 zd1 = {'组一':{'男':'小明','女':小王},'组二':{'雌':,'雄':}}
NameError: name '小王' is not defined
zd12 = {'组一':{'男':'小明','女':'小王'},'组二':{'雌':a,'雄':b}}
print(zd12)
zd12 = {'组一':{'男':'小明','女':'小王'},'组二':{'雌':a,'雄':b}}
NameError: name 'a' is not defined
zd123 = {'组一':{'男':'小明','女':'小王'},'组二':{'雌':9,'雄':0}}
print(zd123)
{'组一': {'男': '小明', '女': '小王'}, '组二': {'雌': 9, '雄': 0}}

字典嵌套后的元素提取

zd123 = {'组一':{'男':'小明','女':'小王'},'组二':{'雌':9,'雄':0}}
print(zd123('组二','雌'))
TypeError: 'dict' object is not callable
解决方法是:
zd123 = {'组一':{'男':'小明','女':'小王'},'组二':{'雌':9,'雄':0}}
print(zd123['组二'],['雌'])
{'雌': 9, '雄': 0} ['雌']
还是错的,我想打印9
zd123 = {'组一':{'男':'小明','女':'小王'},'组二':{'雌':9,'雄':0}}
print(zd123['组二','雌'])
KeyError: ('组二', '雌')
zd123 = {'组一':{'男':'小明','女':'小王'},'组二':{'雌':9,'雄':0}}
print(zd123['组二']['雌'])

感觉可以给自己发一个锲而不舍奖了()是读切qie,一开始是其qi二不舍···

最后的最后,来做一个总结

  1. 字典和列表都可以互相嵌套
  2. 列表是有顺序的,字典是无序的
  3. 提取的时候,都是print(mingzi [ ] [ ]) [ ] [ ] 之间不用逗号间隔
  4. 列表里的【】 中的 ‘ ’ 不是一定需要的,只要两个列表及以上才需要;当然,纯列表里的元素也是需要 ‘ ’ 分隔。
  5. 字典的嵌套也要注意符号字典的基本语法 ’ XXX ’ : ······ 后边点点点的内容,数字不用 ’ ’ , 字符串需要 ’ ’
文章目录字典字典无嵌套字典字典和列表的主要区别:字典无“偏移量”列表内的元素是有序的,两个列表,如果元素顺序 不同,这两个列表是不同的。字典是用键值对来提取信息{ ’ 键’ : 值 , ’ 键 ’ :值 }del zidian['jian']字典无嵌套future = {{'ocean':'yes','coding':'okay','fishery':'will'},{'arduino':'i','openCV':'exciting'}}TypeError: unhashable
首先定义一个符合json格式字符串,即字符串首尾由{}符号包裹,内部为key:value键值对组合。如果是嵌套字典,在value内部继续使用{}符号包裹,一个三层嵌套字典的形式:{key:[{key:[{key:[],...}]},{key:[]}],...}。如下:一个key对应一个列表形式的value。 str_obj = '{"MxpiObject":[{"classVec":[{"classId":16,"className":"dog","confidence":0.93969...
**list = [{‘Asin’: 111},{‘Asin’: 222},{‘Asin’: 333},{‘Asin’: 444}] lll = [item[key] for item in list for key in item] print(lll) [111, 222, 333, 444]**
文章目录find_all()方法查找范围find_all()方法的参数find 方法提取节点和提取节点内容提取对应元素元素属性 find_all()方法 find_all()返回的结果是一个类似列表的可迭代对象,里面包含了所有满足参数条件的 Tag 对象。 可以从 BeautifulSoup 对象中找,也可以从 Tag 对象中找。 BeautifulSoup对象.find_all() Tag对象.find_all() find_all()方法的参数 第一章参数:HTML元素名 传入HTML 元素