python内置数据类型实验体会_今天开始学python(内置数据类型)

这算是我自己的学习笔记吧, 菜鸟一只. 欢迎讨论~

python 内置数据类型有 dictionary(字典), list(列表) tuple(组元)

(1) Dictionary

定义了键与值的一对一关系

d = {"key1":"value1","key2":"value2"} #字典类型定义

d["key3"] = "value3" #添加新的键值对

del d["key3"] #删除元素

d.clear() #清空dictionary

d["key2"] = "changedValue" #将原有键对应的值修改

d["key1"] #可通过键获取对应值

note 1.1.  dictionary只能由键查值,  若所查键值不存在. 则会引发异常, 报出KeyError错误

note 1.2. dictionary是无序的

note 1.3. dictionary的key是大小写敏感的, d["key"] 和 d["Key"]是两个元素

note 1.4. dictionary的值可以是任意数据类型,包括字符串,数值,对象甚至其他dictionary,

同时单个dictionary中值的类型也不是必须要相同, 可以根据需要混用

note 1.5. dictionary的键类型要求严格的多, 但可以是字符串,数值或其他几种类型(还没看到).

同note 4, 单个dictionary中键的类型也不是必须要相同.

(2) List

类似java里的ArrayList, 可以保存任意对象, 并且增加元素时动态扩展

li = ["object1","object2","object3"] #list类型定义

note 2.1 与dictionary不同, list 是有序的, 它会保持初始的顺序

li.append("new") #在末尾添加新元素, append的参数可以是任意类型

li.insert(2,"new") #在第2个元素后插入新元素

li.extend(["object3","object4"]) #连接list, extend的参数是一个list

note 2.2. append(添加)和extend(扩展)的区别

使用一个很明显的例子:

>>>li = ["a","b","c"]

>>>li.append(["d","e","f"])

>>>li

["a","b","c",["d","e","f"]]

>>>li = ["a","b","c"]

>>>li.extend(["d","e","f"])

>>>li

["a","b","c","d","e","f"]

append是在list的末尾添加一个元素, 哪怕这个元素本身也是个list, 也只会被当成一个元素

extend是将一个list每个元素一次添加到原list中

li.remove("object1") #删除首次出现的object1元素, 注意,

#若list中没有object1元素, 则会引发异常

li.pop() #删除最后一个元素,并返回最后一个元素的值

li[0] #list视为从0开始的数组

li[-1] #负数认为是从尾部往前计数来存取元素, li[-i] == li[length(li)-i]

#分片(slice)

li[2:3] #分片(slice) 通过两个引索得到li的一个子集

li[-3:2] #引索为负数是可行的, 具体内容看note 2.3.

li[:2] #第一个引索默认为0

li[2:] #第二个引索默认为length(li)

li[:] #这是原list的一个拷贝

note 2.3. 分片返回一个新list, 它包含了从第一个引索开始,直到但是不包括第二个引索的所有元素

简单的理解是, 从左往右阅读list, 第一个引索指定了第一个想要的元素,

第二个引索指定了第一个不想要的元素,

返回值期间所有元素

ps. li[3:2] 返回[]

li.index("object1") #查找一个值首次出现的引索值

#如果是不存在的值, 则会报错

"object1" in li #判断对象是否在list中, 值存在,返回True,否则False

note 2.4. note. python语言中的bool类型True, False 要注意首字母大写

note 2.5. 0为False, 其他数值均为True

空串("")为False,其他字符串均为True

空list([])为Flase,其他list均为True

空tuple(())为False,其他tuple均为True

空dictionary({})为False,其他dictionary均为True

list运算符

li = li + ["b","c"] #作用等同li.extend(["b","c"]) 但extend效率较高

li += ["b","c"]

li = li*3 # *可作为重复器作用于list, 本句代码等同于 li = li+li+li

(3)Tuple

tuple是不可变的list, 一旦创建了一个tuple, 就不能以任何方式改变它

t = ("object1","object2","object3") #定义tuple

t[0] #元素获取方式与list相同

t[-1]

t[2:3] #也可使用分片(slice)

"object" in t #使用in判断元素是否在tuple中

note 3.1 tuple同list一样,是有顺序的. tuple的引索也是从0开始

note 3.2 tuple没有方法, 但是可以用in判断一个元素是否存在于tuple中

note 3.3 tuple可以作为dictionary的键

note 3.4 tuple操作速度比list快, 如果一个常量集唯一要做的就是不断地遍历它, 就是使用tuple吧

note 3.5 tuple可以转换成list, 反之亦然.

tel = "tel"

number = "110"

"%s = %s" %(tel,number) #用tuple格式化字符串

v = "age"

age = 18

"%s = %d" %(v,age) #用法类似c语言中的printf

"User Name is %s" %("ABC",) #只包含一个元素的tuple必须在结尾加上一个逗号,

#否则Python不会知道("ABC")究竟是"ABC"还是一个tuple note 3.6. 当定义一个dictionary,list或tuple时, 最后一个元素后跟上逗号是没有问题的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值