随记2018/4/23

# 找元祖中的元素,移除每个元素的空格,并查找以a或A开头,c结尾的所有元素。
# 思路:将i取出来,求得li列表中有多少个元素for i in range(len(li));然后用li[i]的方式,让每个元素的空格去掉li[i] = li[i].replace(' ', '')
tu = ('alex', ' aric', 'Alex', 'Tony')                    # 设置元祖
tu = list(tu)                                             # 将元祖列表化
tu_final = []                                             # 设置一个新的列表
for i in range(len(tu)):                                  # 计算列表的长度,获得i——以便下一步中,取列表里面的每一个元素
    tu[i] = tu[i].replace(' ', '')                        # 以此取列表的每一个元素,并且去掉空格
    if tu[i][0] in ['a', 'A'] and tu[i][-1] == 'c':       # 如果元素的首字母在a,A中,并且末尾为c
        tu_final = tu_final.append(tu[i])                 #### 那么将该元素添加到设置的空列表tu_final中——这里的语法是错误的,在列表中添加.append不应该进行赋值,因为.append()这个方法执行成功之后会返回None这个值,赋值的话会赋值None给变量。
print(tu_final)                                           # 打印tu_final

今天在这个地方出现了好几个问题:

  • 对各种括号代表什么数据类型弄不清楚;
  • list语法后面应该使用小括号,而不是中括号;
  • python如何合并两个列表的内容;
  • Python startswith()方法;
  • 逻辑 与 或 非的优先级(and or not 优先级)。

    1. python中的括号——( ),[ ],{ }

    python语言最常见的括号有三种,分别是:小括号( )、中括号[ ]和大括号也叫做花括号{ }。其作用也各不相同,分别用来代表不同的python基本内置数据类型。

  • 1、python中的小括号( ):代表tuple元组数据类型,元组是一种不可变序列。创建方法很简单,大多时候都是用小括号括起来的。
>>> tup = (1,2,3)
>>> tup
(1, 2, 3)
>>>
>>> ()#空元组
()
>>>
>>> 55,#一个值的元组
(55,)
  • 2、python中的中括号[ ]:代表list列表数据类型,列表是一种可变的序列。其创建方法即简单又特别,像下面一样:
>>> list('python')
['p', 'y', 't', 'h', 'o', 'n']
  • 3、python大括号{ }花括号:代表dict字典数据类型,字典是由键对值组组成。冒号':'分开键和值,逗号','隔开组。用大括号创建的方法如下:
>>> dic={'jon':'boy','lili':'girl'}
>>> dic
{'lili': 'girl', 'jon': 'boy'}
>>>

2. python中列表如何合并?

正如下面的代码所示,将两个列表通过+号进行拼接即可。

>>> list1 = [1,2,3,4]
>>> list2 = [5,6,7,8]
>>> list1+list2
[1, 2, 3, 4, 5, 6, 7, 8]

3. Python中startswith()方法

描述

Python startswith() 方法用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定值,则在指定范围内检查。

语法

startswith()方法语法:
str.startswith(str, beg=0,end=len(string));

参数

  • str -- 检测的字符串。
  • strbeg -- 可选参数用于设置字符串检测的起始位置。
  • strend -- 可选参数用于设置字符串检测的结束位置。

    返回值

    如果检测到字符串则返回True,否则返回False。

    实例

    以下实例展示了startswith()函数的使用方法:

#!/usr/bin/python
str = "this is string example....wow!!!";
print str.startswith( 'this' );
print str.startswith( 'is', 2, 4 );
print str.startswith( 'this', 2, 4 );

以上实例输出结果如下:

true
True
False

4. 逻辑 与 或 非的优先级(and or not 优先级)

  • 在不加括号时候 and优先级大于or;
  • x or y 的值只可能是x或y。x为真就是x,x为假就是y;
  • x and y 的值只可能是x或y。x为真就是y,x为假就是x。

显然
对于,1 or 5 and 4:先算5 and 4,5为真, 值为4。 再算1 or 4,1 为真,值为1;
对于,(1 or 5) and 4:先算1 or 5,1为真, 值为1.。再算1 and 4,1为真,值为4。

unit_2_homework的更多相关文章

随机推荐

  1. CAS原理分析

    在JDK 5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁(后面的章节还会谈到锁). 锁机制存在以下问题: (1)在多线程竞争下,加锁.释放锁会导致比较多的上下文切换和调度 ...

  2. Linux软连接和硬链接(转)

    1.Linux链接概念Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接. [硬连接]硬连接指通过索引节点 ...

  3. 1.JMeter===添加响应断言

    断言即Lr中的检查点,我们在进行测试时,需要对每次请求测试的返回做检验 1.以百度做案例,添加线程组==添加HTTP请求==添加查看结果树 2.在HTTP请求下添加响应断言 注:模式匹配规则,比较常用 ...

  4. Android 从上层到底层-----hal层

    CPU:RK3288 系统:Android 5.1 功能:上层 app 控制 led 亮灭 开发板:Firefly RK3288 led_hal.c path:hardware/rockchip/fi ...

  5. 安卓笔记-adb指令、打包安装

    adb install -r -s xxx.apk      -r重装  -s 安装到sd卡 安装软件 adb uninstall -k 包名           -k 只卸载程序不清除数据 adb ...

  6. FPGA图像加速解决方案来了

    近日,百度云与联捷计算科技(CTAccel)共同推出基于FPGA的图像加速解决方案(CIP,CTAccel Image Processor),实现对JPEG转码JPEG.JPEG转码WebP(M6)等 ...

  7. 在Windows下搭建基于nginx的视频直播和点播系统

    http://my.oschina.net/gaga/blog/478480 一.软件准备 由于nginx原生是为linux服务的,因此官方并没有编译好的windows版本可以下载,要在windows ...

  8. 【转】JMeter-Java Sampler编写范例

    今天,听段念的培训,学了一下Jmeter写Java请求的过程. 根据某博文,修改其中代码的bug后,贴在下面吧:另外公司一同学Raylupas在半年前也写过关于JMeter写Java Sampler的 ...

  9. mysql实战优化之一:sql优化

    1.选取最适用的字段属性 MySQL 可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快.因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得 ...

  10. Struts2的fliter与interceptor

    struts2   fliter与interceptor的区别 1.拦截器是基于java反射机制的,而过滤器是基于函数回调的.2.过滤器依赖于servlet容器,而拦截器不依赖于servlet容器.3 ...