Python自学日记(三):内置数据类型(字典,列表,元组和格式化字符串)(10.17)

一、Dictionary(字典)

Dictionary 是 Python 的内置数据类型之一,它定义了键和值间对关系 。
1、定义字典

d = {"name":"Liao","age":"24"}
d["name"]
'Liao'

首先我们创建了新 dictionary,它有两个元素,将其赋给变量d 。每一个元素都是一个 key-value对,整个元素集合用大括号括起来。
“name”是一个key,它所关联的词是通过d[“name”]来引用的。
2、dictiona字典的修改
在一个dictiona不能有重复的key,给一个存在的key赋值会覆盖原来的值。
在任何时候都可以加入新的key-value对,语法与修改存在的值是一样的。

d["age"] = 23
d["gender"] = "female"
d
{'name': 'Liao', 'age': 23, 'gender': 'female'}

Dictionary是无序的,key是大小写敏感的

dictionary的值可以是任意数据类型,包括字符串、整数、对象,甚至其他的dictionary.
dictionary的key可以是字符串,整数,其他几种类型

3、从dictionary中删除元素

del d["name"]
d
{'age': 23, 'gender': 'female'}
d.clear()
d
{}

del允许使用key删除dictionary中独立的元素,clear()函数从一个dictionary中清楚所有的元素。

二、列表(list)

nameList = ["TOM","LISA","BOB","LILY"]
nameList[0]
'TOM'
nameList[3]
'LILY'
nameList[-1]
'LILY'

1、list的定义和索引
(1). list是一个用方括号括起来的有序元素的集合。
(2).list的索引从0开始
(3).负的list索引,-1代表最后一个元素的索引,list[-n] == list[len(list)-n]

2、list的分片(slice)
可以通过指定两个索引得到list的子集,“slice”,返回一个新的list,包括从第一个索引直到但不包括第二个索引的所有元素。

3、向list中增加元素
append向list末尾增加一个元素
insert将单个元素插入list中,数值参数时元素插入位置的索引,list中的元素不必唯一。
extend用来连接list

4、list搜索

nameList.index("BOB")
2

index在list中查找一个值首次出现并返回其索引值
要测试一个值是否在list内,用in,存在返回true,否则false

"TOM" in nameList
True

Note:Python中的布尔值True和False第一个字母大写,是大小写敏感的。

4、从list中删除元素

nameList.remove("BOB")
nameList.pop()
'LILY'

remove从list中删除一个值的首次出现
pop删除list中的最后一个元素,并返回这个元素的值

三、Tuple(元组)

Tuple是不可变的list,一旦创建了元组,任何方式都不能改变它。
定义:与list的定义方法相同,但是用小括号括起来的一系列元素的集合。
Tuple没有方法,不能增加、删除和查找,但是可以用in来查看一个元素是否在Tuple中
Tuple的好处: 比list操作速度快、可以在dictionary中被用作key,但list不行、可以用在字符串格式化中。

四、变量声明

Python 与大多数其它语言一样有局部变量和全之分,但是没明显的变量声明,变量通过首次赋值产生,当超出作用范围时自动消亡。

namelist = {"lisa": 24, \
            "Bob": 25, \
            "lucy": 27}
print(namelist["lisa"])

变量的赋值时一条被分成了多行的命令,用""反斜杠作为续行符。
Python不允许使用一个未被赋值的变量,这样会引发异常。

Python可以一次赋多值

v = ("a", "b", "c")
(x, y, z) = v
print(x, y, z)
(Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday) = range(7)
print(Monday)

五、格式化字符串

x = "a"
y = "b"
print("%s=%s"%(x, y))

(x,y)是一个tuple

连接.join和分割split字符串

namelist = {"lisa": 24, \
            "Bob": 25, \
            "lucy": 27}
print(namelist["lisa"])
s = ";".join(["%s = %d" %(k, v) for (k, v) in namelist.items()])
print(s)
lisa = 24;Bob = 25;lucy = 27

这里的join方法将 list 中的元素连接成单个字符串,每个元素用一个分隔符隔开,分隔符不必是分号,甚至不必是单个字符,它可以是任何字符串。
不能join非字符串

s1 = s.split(";", 1)
print(s1)
['lisa = 24', 'Bob = 25;lucy = 27']

split与join正好相反,它将一个字符串分割成多元素的list,分隔符“;”被完全去掉了。
split接受第二个参数,它是要分割的次数。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值