-
不太懂哦查看全部
-
1. 在计算 a and b 时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。 2. 在计算 a or b 时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。 所以Python解释器在做布尔运算时,只要能提前确定计算结果,它就不会往后算了,直接返回结果。查看全部
-
len十一提取字符串字符个数的函数查看全部
-
对于多重循环 需要注意的是 想运算还是想字符的组合 对于数字而言 运算是不需要加引号 而字符拼接 需要加引号查看全部
-
将n个盘子从座A移到座C可以描述为: (1) 将n-1个盘子从座A借助座C移到座B; (2) 将剩下的一个盘子从座A移到座C; (3) 将n-1个盘子从座B借助座A移到座C;查看全部
-
sum = 0 x = 0 while True: x = x + 1 if x > 100: break if x%2==0: continue sum+=x print sum查看全部
-
多层 for 循环来生成列表。 找出对称的 3 位数? 注意返回值类型为数字 非字符串100*x+10*y+z 字符串方式print [int(str(x) + str(y) +str(z)) for x in range(1,10) for y in range(0,10) for z in range(0,10) if x==z]查看全部
-
条件过滤 --- 有了 if 条件,只有 if 判断为 True 的时候,才把循环的当前元素添加到列表中。 列表生成式的 for 循环后面还可以加上 if 判断。例如: >>> [x * x for x in range(1, 11)] [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] 如果我们只想要偶数的平方,不改动 range()的情况下,可以加上 if 来筛选: >>> [x * x for x in range(1, 11) if x % 2 == 0] [4, 16, 36, 64, 100] 把list中的所有字符串变成大写后返回,非字符串元素将被忽略? 提示: 1. isinstance(x, str) 可以判断变量 x 是否是字符串; 2. 字符串的 upper() 方法可以返回大写的字母。查看全部
-
注:字符串可以通过 % 进行格式化,用指定的参数替代 %s。字符串的join()方法可以把一个 list 拼接成一个字符串。 复杂表达式 使用for循环的迭代不仅可以迭代普通的list,还可以迭代dict。 假设有如下的dict: d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 } 完全可以通过一个复杂的列表生成式把它变成一个 HTML 表格: tds = ['<tr><td>%s</td><td>%s</td></tr>' % (name, score) for name, score in d.iteritems()] print '<table>' print '<tr><th>Name</th><th>Score</th><tr>' print '\n'.join(tds) print '</table>' 注:字符串可以通过 % 进行格式化,用指定的参数替代 %s。字符串的join()方法可以把一个 list 拼接成一个字符串。 把打印出来的结果保存为一个html文件,就可以在浏览器中看到效果了: <table border="1"> <tr><th>Name</th><th>Score</th><tr> <tr><td>Lisa</td><td>85</td></tr> <tr><td>Adam</td><td>95</td></tr> <tr><td>Bart</td><td>59</td></tr> </table> 对于没有及格的同学,请把分数标记为红色。 提示:红色可以用 <td > 实现。查看全部
-
循环太繁琐,而列表生成式则可以用一行语句代替循环生成上面的list: >>> [x * x for x in range(1, 11)] [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] 这种写法就是Python特有的列表生成式。利用列表生成式,可以以非常简洁的代码生成 list。 写列表生成式时,把要生成的元素 x * x 放到前面,后面跟 for 循环,就可以把list创建出来查看全部
-
Python把0、空字符串''和None看成 False,其他数值和非空字符串都看成 True查看全部
-
list链表内的元素字符串(一定,否则报错)都要加引号(单双都行), 但打印的字符串都被单引号扩起来 数字可以不用加引号,直接打印就显示无引号的数字,若加了引号,则以字符串的形式打印出来 最后所打印的结果总有方括号查看全部
-
和 values() 有一个 itervalues() 类似, items() 也有一个对应的 iteritems(),iteritems() 不把dict转换成list,而是在迭代过程中不断给出 tuple,所以, iteritems() 不占用额外的内存。查看全部
-
我们已经了解了dict对象本身就是可迭代对象,用 for 循环直接迭代 dict,可以每次拿到dict的一个key。 用 itervalues() 方法替代 values() 方法,迭代效果完全一样:那这两个方法有何不同之处呢? 1.values() 方法实际上把一个 dict 转换成了包含 value 的list 2.但是 itervalues() 方法不会转换,它会在迭代过程中依次从 dict 中取出 value,所以 itervalues() 方法比 values() 方法节省了生成 list 所需的内存 3.打印 itervalues() 发现它返回一个 <dictionary-valueiterator> 对象,这说明在Python中,for 循环可作用的迭代对象远不止 list,tuple,str,unicode,dict等,任何可迭代对象都可以作用于for循环,而内部如何迭代我们通常并不用关心。 【如果一个对象说自己可迭代,那我们就直接用 for 循环去迭代它,可见,迭代是一种抽象的数据操作,它不对迭代对象内部的数据有任何要求。】查看全部
-
Python中,迭代永远是取出元素本身,而非元素的索引。 想在 for 循环中拿到索引,用enumerate() 函数: 使用 enumerate() 函数,我们可以在for循环中同时绑定索引index和元素name。但是,这不是 enumerate() 的特殊语法。迭代的每一个元素实际上是一个tuple 实际上,enumerate() 函数把:['Adam', 'Lisa', 'Bart', 'Paul'] 变成了类似:[(0, 'Adam'), (1, 'Lisa'), (2, 'Bart'), (3, 'Paul')] 可见,索引迭代也不是真的按索引访问,而是由 enumerate() 函数自动把每个元素变成 (index, element) 这样的tuple,再迭代,就同时获得了索引和元素本身。 zip()函数可以把两个 list 变成一个 list: >>> zip([10, 20, 30], ['A', 'B', 'C']) [(10, 'A'), (20, 'B'), (30, 'C')] 打印出名次 - 名字(名次从1开始)?查看全部
举报
0/150
提交
取消