随记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. Built(最小生成树+构图离散化)

    个人心得:看了题目很明确,最小生成树,但是但是周赛卡住了,因为10W的点若一个一个找出距离很明显内存和时间都炸了, 静下心来,画了下图,仔细一想,任意一个点都只会在她左右俩边选择建立联系,那么我们只要 ...

  2. nodejs之fs模块

    nodejs中的file system文件系统模块 1.文件的读取readFile //引入文件系统模块 const fs = require('fs'); //文件读取是异步操作 fs.readFi ...

  3. 【转】VC 线程间通信的三种方式

    原文网址:http://my.oschina.net/laopiao/blog/94728 1.使用全局变量(窗体不适用)      实现线程间通信的方法有很多,常用的主要是通过全局变量.自定义消息和 ...

  4. WaitHandle学习笔记

    信号量与互斥体 互斥体(Mutex)是操作系统中一种独占访问共享资源的机制.它像一把所锁,哪个线程获取到互斥体的控制权,则可以访问共享的资源,或者执行处于受保护的代码.而其他的线程如果也想获取控制权, ...

  5. RK3288 添加WiFi&BT模块AP6212

    CPU:RK3288 系统:Android 5.1 注:系统中自带的模块没有AP6212,相近的只有AP6210,设置为AP6210,直接添加固件也可以正常使用. 此文是手动添加AP6212的例程. ...

  6. 越来越不习惯客户端了,于是卸载了xmapp,重新配置了php+apache+mysql

    Mac os 10.10默认安装的是php 5.5.4版本 默认安装的apache是2.4.9 在mysql官网下载了5.7.11,此版本安装比较简单 比较郁闷的是sudo cp /etc/php.i ...

  7. idea之jrebel热部署使用教程

    JRebel是一个J2EE热部署的工具.使用它可以减少浪费8-18%的开发时间在项目的构建和部署上.虽然Java也提供了HotSpot的JVM,但是如果你修改的类中有方法名称变动的话,HotSpot就 ...

  8. idea maven 打包 引用本地jar

    1将本地jar包导入到mvn本地库 mvn install:install-file -Dfile=/Users/liuqiang/Documents/gmpl/gmpl-server/lib/ali ...

  9. 单例---被废弃的DCL双重检查加锁

    被废弃的单例的DCL双重检查加锁/* *单例模式 *单例模式,保证一个类仅有一个实例,并提供一个访问它的全局访问点. *加同步锁的单例模式,适合在多线程中使用. */ class Singleton{ ...

  10. Python基础之元组tuple(带了枷锁的列表)

    元组不能直接插入删除修改元素. 逗号是关键 创建空元组 元组的一些操作符 别忘了逗号,"*"重复操作符也可以使用 元组通过切片间接更新 插入元素,可以使用拼接操作符(“+”) &g ...