我有一个问题。
我有一个嵌套的列表,看起来像这样。
x= [[{'screen_name': 'BreitbartNews',
'name': 'Breitbart News',
'id': 457984599,
'id_str': '457984599',
'indices': [126, 140]}],
[],
[],
[{'screen_name': 'BreitbartNews',
'name': 'Breitbart News',
'id': 457984599,
'id_str': '457984599',
'indices': [98, 112]}],
[{'screen_name': 'BreitbartNews',
'name': 'Breitbart News',
'id': 457984599,
'id_str': '457984599',
'indices': [82, 96]}]]
在主列表中有一些空列表。我要做的是提取screen_name并将它们附加为一个新列表,包括空列表(可能将它们标记为'null')。
y=[]
for i in x :
for j in i :
if len(j)==0 :
n = 'null'
else :
n = j['screen_name']
y.append(n)
我不知道为什么上面的代码输出一个列表,
['BreitbartNews',
'BreitbartNews',
'BreitbartNews',
'BreitbartNews',
'BreitbartNews']
不反映空子列表。
有谁能帮助我如何改进我的代码使其正确吗?
您正在检查错误列表的长度。您的空列表在i
变量中。
正确的代码是
y=[]
for i in x :
if len(i) == 0:
n = 'null'
else:
n = i[0]['screen_name']
y.append(n)
它可以帮助print(i)
在每次迭代中更好地理解实际发生的事情。