我在输入以下网址时收到了一个列表 - http://api.twitter.com/1/trends/44418.json
该列表包含多个词典,我对列表结构有点困惑.我正在尝试获取与"name"键关联的值.
例如:
"名字":"#throwagrenade""名字":"丽贝卡·布莱克""名字":"#questionsihate"
我可以自己编写代码,我只是想在概念上理解如何在列表中访问字典(及其键/值对).
我想在下面的列表中使用列表理解;
movie_dicts = [{'title':'A Boy and His Dog', 'year':1975, 'rating':6.6},
{'title':'Ran', 'year':1985, 'rating': 8.3},
{'title':'True Grit', 'year':2010, 'rating':8.0},
{'title':'Scanners', 'year':1981, 'rating': 6.7}]
Run Code Online (Sandbox Code Playgroud)
使用我对列表理解和词典的了解,我知道
movie_titles = [x['title'] for x in movie_dicts]
print movie_titles
Run Code Online (Sandbox Code Playgroud)
将打印一个包含电影标题的列表.
为了提取我尝试过的(标题,年份)元组列表 -
movie_tuples = [x for ('title','year') in movie_dicts]
print movie_tuples
Run Code Online (Sandbox Code Playgroud)
我收到错误SyntaxError:无法分配给文字
我不确定如何使用列表推导来获取两个(特定的)键/值对(这样做会自动生成一个元组?)
我有点粗略地说明如何使用Python计算文本文件中的某些元素.我进入Python几个月,我熟悉以下功能;
到目前为止,这是我的代码:
fname = "feed.txt"
fname = open('feed.txt', 'r')
num_lines = 0
num_words = 0
num_chars = 0
for line in feed:
lines = line.split('\n')
Run Code Online (Sandbox Code Playgroud)
在这一点上,我不知道接下来该做什么.我觉得接近它的最合乎逻辑的方法是首先计算行数,计算每行中的单词,然后计算每个单词中的字符数.但我遇到的一个问题是尝试同时执行所有必要的功能,而不必重新打开文件来单独执行每个功能.
我正在寻找一个函数,它接受列表中的整数,如[1,2,3],并返回一个带有平方整数的新列表; [1,4,9]
我该怎么做?
PS - 就在我准备提交之前我注意到O'Reilly的'Learning Python'第14章似乎提供了我正在寻找的解释(第358页,第4版)
但我仍然很想知道其他解决方案是否可行
我在解决下面的问题时遇到了一些麻烦(我对如何解决它的想法直接在问题之下)
“在罗伯特麦克洛斯基的《为小鸭让路》一书中,小鸭的名字是杰克、卡克、拉克、麦克、纳克、瓦克、帕克和嘎嘎。”
此循环按顺序输出这些名称:
prefixes = 'JKLMNOPQ'
suffix = 'ack'
for letter in prefixes:
print letter + suffix
Run Code Online (Sandbox Code Playgroud)
输出是:
Jack
Kack
Lack
Mack
Nack
Oack
Pack
Qack
Run Code Online (Sandbox Code Playgroud)
当然,这并不完全正确,因为“Ouack”和“Quack”拼错了。
练习 8.2 修改程序以修复此错误。”
因此,前缀 + 后缀以当前形式产生 4 个字符。Ouack 和 Quack 是 5 个字符。在上一节中,我们使用 'while' 来遍历字符串以创建一个条件,如果索引等于字符串的长度,则条件为假,并且不执行循环体。我想我需要修改 for 循环,以便如果输出字符数小于输入的原始字符串值,它会添加字母“U”。我如何处理为每个名称输入的字符串值的长度和“前缀”?
我不确定我会如何去做,或者我是否应该采取不同的策略。
我提前道歉,我已经扼杀了任何术语,我读这本书有两天了,而且我之前没有计算机科学背景。