一、列表

1、列表

list ,是一个类,
li = [1,2,"nicholas"]
li是通过list类创建的对象。

2、list特点:

用中括号括起来,用逗号分割每个元素,列表中的元素可以是数字,可以是字符串,也可以是一个列表,甚至作为元素的列表也可以存在列表,布尔值也可以作为元素。
列表是有序的,元素可以被修改。
列表是一个可迭代对象。
列表相当于一个集合,内部可以放置任何东西。

如:

li = [1, 12, 9, "age", ["尼古拉斯", ["19", 10], "庞麦郎"], "alex", True]

  

3、可以通过索引、切片取值

例子

li = [1, 12, 9, "age", ["尼古拉斯", ["19", 10], "庞麦郎"], "alex", True]
print(li[2])
print(li[1:3])

  

输出结果

9
[12, 9]

  

4、可以用for循环、while循环

for循环:

li = [1, 12, 9, "age", ["尼古拉斯", ["19", 10], "庞麦郎"], "alex", True]
for i in li :
print(i)

  

输出结果

1
12
9
age
['尼古拉斯', ['19', 10], '庞麦郎']
alex
True

  

while循环

li = [1, 12, 9, "age", ["尼古拉斯", ["19", 10], "庞麦郎"], "alex", True]
count = len(li)
i = 0
while i < count:
v = li[i]
print(v)
i = i + 1

  

输出结果

1
12
9
age
['尼古拉斯', ['19', 10], '庞麦郎']
alex
True

  

5、列表的元素可以被修改

a、通过索引删除修改
例子

li = [1, 12, 9, "age", ["尼古拉斯", ["19", 10], "庞麦郎"], "alex", True]
li[1] = 8 #通过索引直接赋值给某个元素
print(li)

  

输出结果

[1, 8, 9, 'age', ['尼古拉斯', ['19', 10], '庞麦郎'], 'alex', True]

  

del 删除

例子

li = [1, 12, 9, "age", ["尼古拉斯", ["19", 10], "庞麦郎"], "alex", True]
del li[1] #通过del加索引直接删除某个元素
print(li)

  

输出结果

[1, 9, 'age', ['尼古拉斯', ['19', 10], '庞麦郎'], 'alex', True]

  

b、通过切片删除修改
例子

li = [1, 12, 9, "age", ["尼古拉斯", ["19", 10], "庞麦郎"], "alex", True]
li[1:3] = [8,18]
#通过切片的方式直接赋值修改元素,注意要加中括号,组成一个列表
print(li)

  

输出结果

[1, 8, 18, 'age', ['尼古拉斯', ['19', 10], '庞麦郎'], 'alex', True]

  

例子

li = [1, 12, 9, "age", ["尼古拉斯", ["19", 10], "庞麦郎"], "alex", True]
del li[1:3]
#通过切片的方式直接删除元素
print(li)

  

输出结果

[1, 'age', ['尼古拉斯', ['19', 10], '庞麦郎'], 'alex', True]

  

6、列表也支持in操作

列表中的元素以逗号进行分割,各个作为一个整体。

li = [1, 12, 9, "age", ["尼古拉斯", ["19", 10], "庞麦郎"], "alex", True]
v = "age" in li
print(v)

  

输出结果

True

  

分析:这里的判断是不是在列表里是用完整的元素,即"age",
而"ag" in li则会输出False,同理,这个例子中"尼古拉斯"in li也会输出False.

7、列表多层索引的操作

可以使用下标索引来访问列表中的值
举个例子
我想获取"19"

li = [1, 12, 9, "age", ["尼古拉斯", ["19", 10], "庞麦郎"], "alex", True]
v =li[4][1][0]
print(v)

  

输出结果

19

  

分析:这里是一层一层的索引的
"19"所在的元素在第一层索引位置是4
v=li[4] ,这里的li[4]就是["尼古拉斯", ["19", 10], "庞麦郎"]这个整体,
同样的li[4][1]实际是["19", 10],继续根据位置进行索引获取"19"即可。

8、字符串转换为列表,列表转为字符串

a、字符串转换为列表

str1 = "nicholas"
v =list(str1)
print(v)

  

输出结果

['n', 'i', 'c', 'h', 'o', 'l', 'a', 's']

  

字符串转列表可以直接用list,这里list会把字符串的每个字符循环一遍,输出以每个字符为元素的列表。
或者直接
v = list("nicholas")

b、列表转为字符串
如果用str直接将列表转为字符串

li = ["nicholas","niu","bi"]
v =str(li)
print(v)

  

输出结果

['nicholas', 'niu', 'bi']

  

分析:这里确实可以将li转为字符串,但是这里只是将li这个列表整体作为一个字符串即"['nicholas', 'niu', 'bi']",要想实现列表里元素的合并,并拼接成字符串需要for循环或者用join()。

for循环转字符串
例子
如果列表里元素都是字符串

li = ["nicholas","niu","bi"]
s = ""
for i in li:
s = s + i
print(s)

  

输出结果

nicholasniubi

  

在列表里元素都是字符串的情况下可以用
join()可以比较简单实现

li = ["nicholas","niu","bi"]
s = "".join(li)
print(s)

  

输出结果

nicholasniubi

  

但是如果列表里元素包含数字或者其他的类型,只能用for循环实现对列表元素拼接转为字符串

li = ["nicholas","niu","bi",8,18,True]
s = ""
for i in li:
s = s + str(i)
#注意这里要把i转换为字符串类型,否则会报错
print(s)

  

输出结果

nicholasniubi818True

  

二、列表方法

1、append()

在列表末尾追加新的对象

li = ["nicholas","niu","bi",8,18,True]
li.append(99)
print(li)

  

输出结果

['nicholas', 'niu', 'bi', 8, 18, True, 99]

  

再举个例子

li = ["nicholas","niu","bi",8,18,True]
li.append(168)
li.append("99")
li.append("nick")
print(li)

  

输出结果

['nicholas', 'niu', 'bi', 8, 18, True, 168, '99', 'nick']

  

分析:注意这里是直接在列表里进行修改的,并不需要重新对li.append()进行变量的重命名。

2、clear()

清空列表

li = ["nicholas","niu","bi",8,18,True]
li.clear()
print(li)

  

输出结果

[]

  

结合append举个例子

li = ["nicholas","niu","bi",8,18,True]
li.clear()
li.append(99)
print(li)

  

输出结果

[99]

  

分析:在这里我们可以看到,clear、append都是直接对列表进行操作的。

3、copy()

举个例子

li = ["nicholas","niu","bi",8,18,True]
v = li.copy()
#这里由于是复制,所以需要一个新的变量以满足赋值需要
print(v)

  

输出结果

['nicholas', 'niu', 'bi', 8, 18, True]

  

这里的复制是浅拷贝。

4、count()

统计某个元素在列表中出现的次数

li = ["nicholas","niu","bi",8,18,True]
v = li.count(8)
#count这里必须包含一个参数,不能为空,为空则报错。
print(v)

  

输出结果

1

  

5、extend()

在列表末尾一次性追加另一个序列中的多个值
举个例子

li1 = ["nicholas","niu","bi",8,18,True]
li2 = ["nicholas","niu","bi",8,18,True]
li1.append([16,"nick"])
li2.extend([16,"nick"])
print(li1)
print(li2)

  

输出结果

['nicholas', 'niu', 'bi', 8, 18, True, [16, 'nick']]
['nicholas', 'niu', 'bi', 8, 18, True, 16, 'nick']

  

分析:这里append的追加是把后面的参数作为一个整体,追加到原列表成为最后一个元素。extend这里的追加是把参数做了一个循环依次添加到原列表中,相当于内部执行for循环。

6、index()

从列表中找出某个值第一个匹配项的索引位置,根据index的参数获取其当前列表的索引位置,从左边开始。

li = ["nicholas","niu","bi",8,18,True,8]
v = li.index("niu")
print(v)

  

输出结果

1

  

再举个例子

li = ["nicholas","niu","bi",8,18,True,8]
v = li.index(8)
print(v)

  

输出结果

3

  

这里列表中有2个8,但是index只会输出从左向右遇到的第一个的位置

例子

li = ["nicholas","niu","bi",8,18,True,8,9]
v = li.index(8,4,8)
#这里的index(8,4,8),其中第一个8是表示要寻找的对象,“4,8”表示从列表的索引第4个位置开始寻找到第8个位置结束
print(v)

  

输出结果

6

  

分析:这里我们可以看到index寻找列表内容也可以规定寻找位置。

7、insert()

将对象插入列表

li = ["nicholas","niu","bi",8,18,True,8,9]
li.insert(7,4)
print(li)

  

输出结果

['nicholas', 'niu', 'bi', 8, 18, True, 8, 4, 9]

  

分析:insert的第一个参数规定了要插入的指定位置,第二个参数是插入的内容。

8、pop()

删除某个值,并可以获取当前删除的值
没有指定索引,默认删除最后一个元素

,这里只能是索引,或者没有参数,不能指定具体元素

li = ["nicholas","niu","bi",8,18,True,8,9]
v = li.pop(7)
# li.pop(7),如果不需要获取被删除的值可以直接这样写
print(li)
print(v)

  

输出结果

['nicholas', 'niu', 'bi', 8, 18, True, 8]
9

  

9、remove()

移除列表中某个值的第一个匹配项,这里可以指定元素

li = ["nicholas","niu","bi",8,18,True,8,9]
li.remove(8)
print(li)

  

输出结果

['nicholas', 'niu', 'bi', 18, True, 8, 9]

  

例子2

li = ["nicholas","niu","bi",8,18,True,8,9]
li.remove("niu")
print(li)

  输出结果

['nicholas', 'bi', 8, 18, True, 8, 9]

  

分析:这里remove()参数是要删除的对象,会删除从左到右遇到的第一个匹配的对象。

10、reverse()

将当前列表进行反转

li = ["nicholas","niu","bi",8,18,True,8,9]
li.reverse()
print(li)

  

输出结果

[9, 8, True, 18, 8, 'bi', 'niu', 'nicholas']

  

11、sort()

对原列表进行排序

li1 = ["nicho","las","ciu","bi"]
li2 = [1,3,490,23,50]
li1.sort()
li2.sort()
print(li1)
print(li2)

  

输出结果

['bi', 'ciu', 'las', 'nicho']
[1, 3, 23, 50, 490]

  

分析:这里的排序要求列表是全部是字符串或者数字,根据英文首字母顺序或者数字的从小到大进行排序。如果列表既包含字符串又包含数字则会进行报错。

这里是根据ascii码表确定的顺序进行排序的。

例子

li = [1,3,490,23,50]
li.sort(reverse = True)
print(li)

  

输出结果

[490, 50, 23, 3, 1]

  

分析:这里的sort()加上参数reverse =True 会进行反向的排序。

三、元组

1、元组

tuple,
tu = (111,22,33,44)

2、元组的特点

元组的元素不可被修改,不能被增加或者删除
元组的元素可以是字符串、数字、布尔值、列表。
推荐一般写元组在小括号的最后加一个逗号。
tu = (111,"nicholas",[1,2,"18"],true,)
元组也是一个可迭代对象。

3、元组的索引、切片

tu = (2,3,"nicholas",["你好","hello",12,],True,)
v1 = tu[3]
v2 = tu[2:4]
print(v1)
print(v2)

  

输出结果

['你好', 'hello', 12]
('nicholas', ['你好', 'hello', 12])

  

4、 元组可以被for循环

tu = (2,3,"nicholas",["你好","hello",12,],True)
for i in tu :
print(i)

  

输出结果

2
3
nicholas
['你好', 'hello', 12]
True

  

5、字符串、列表、元组的相互转换

字符串转元组

s1 = "nicholas"
s2 = "168"
v1 = tuple(s1)
v2 = tuple(s2)
print(v1)
print(v2)

  

输出结果

('n', 'i', 'c', 'h', 'o', 'l', 'a', 's')
('1', '6', '8')

  

分析:这里tuple相当于内部执行了一个for循环。

列表转元组

li1= [1,2,"nicholas",True]
v = tuple(li1)
print(v)

  

输出结果

(1, 2, 'nicholas', True)

  

分析:这里tuple相当于内部执行了一个for循环。

元组转字符串

对于列表里只有字符串也可以用join来合成一个整体元素。当然这里也可以用for循环。
如:

tu1= ["nicholas","niu","bi"]
v = "".join(tu1)
print(v)

  

输出结果

nicholasniubi

  

6、元组也是有序的,可以通过多层索引取值

例子

tu = ("nicholas",1,3,"niu",[2,"nick",[22,"hello"]],"bi")
v = tu[4][2][0]
print(v)

  

输出结果

22

  

这里的多层索引取值与列表类似。

7、元组的第一个元素整体不能被修改,但是第二层的如列表是可以被修改的,如删除、增加。

例子

tu = ("nicholas",1,3,"niu",[2,"nick",[22,"hello"]],"bi")
tu[4][2] = 8
print(tu)

  

输出结果

('nicholas', 1, 3, 'niu', [2, 'nick', 8], 'bi')

  

四、元组的方法

1、count()

获取指定元素在元组中出现的次数

tu = ("nicholas",1,3,"niu",[2,"nick"],"bi",8,1)
v = tu.count(1)
print(v)

  

输出结果

2

  

2、index()

获取某一个值的索引位置
例子

tu = ("nicholas",1,3,"niu",[2,"nick"],"bi",8,"niu")
v = tu.index("niu")
print(v)

  

输出结果

3

  

分析:这里与列表类似,index只会输出从左向右遇到的第一个的位置。

五、字典

1、dict {key:value}

key:value 是一个键值对

2、字典的value可以是任何值(字符串、数字、列表、元组、布尔值),同时可以进行嵌套。

3、字典的key不能是列表、字典 注意true、false可能和1和0重复。

布尔值true\false在内存中就存储为1\0.
如果两个key是相同的,只能显示一个

4、字典是无序的,多层索引取值

例子1

 dic = {
"k1": 18,
"k2": True,
"k3": [
11,
[],
(),
22,
33,
{
'kk1': 'vv1',
'kk2': 'vv2',
'kk3': (11,22),
}
],
"k4": (11,22,33,44)
}
print(dic)

  

  

输出结果

{'k1': 18, 'k2': True, 'k3': [11, [], (), 22, 33, {'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11, 22)}], 'k4': (11, 22, 33, 44)}

  

例子2
如何找到上面例子中的第三个键值对中的value中的'kk3': (11,22)中的11呢?

dic = {
"k1": 18,
"k2": True,
"k3": [
11,
[],
(),
22,
33,
{
'kk1': 'vv1',
'kk2': 'vv2',
'kk3': (11,22),
}
],
"k4": (11,22,33,44)
}
v = dic["k3"][5]["kk3"][0]
print(v)

  

  

输出结果

11

  

  

分析:由于字典的键值对是成对出现的,而且是无序的,这里只能先指定key,这里的

dic["k3"]=[11, [], (), 22, 33, {'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11, 22)}]
同样的
dic["k3"][5]=
{'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11, 22)}

dic["k3"][5]["kk3"] =(11, 22)
最终用

dic["k3"][5]["kk3"][0]获取了值11.

字典由于是无序的,无法进行切片

(注:从python3.6开始,字典是有序的,即你每次打印字典内容都是一样的。但是这只是现在版本的一个功能,目前并未作为一个语法,所以现在仍然可以认为python3中字典是无序的。时间20180316。来源:超链接

5、字典的删除

字典的删除用del,具体方式与字典的多层索引类似
如需要删除'kk1': 'vv1',
则可以这样写

dic = {
"k1": 18,
"k2": True,
"k3": [
11,
[],
(),
22,
33,
{
'kk1': 'vv1',
'kk2': 'vv2',
'kk3': (11,22),
}
],
"k4": (11,22,33,44)
}
del dic["k3"][5]["kk1"]
print(dic)

  

输出结果

{'k1': 18, 'k2': True, 'k3': [11, [], (), 22, 33, {'kk2': 'vv2', 'kk3': (11, 22)}], 'k4': (11, 22, 33, 44)}

  

如需删除"k1": 18
则可以这样写

    dic = {
"k1": 18,
"k2": True,
"k3": [
11,
[],
(),
22,
33,
{
'kk1': 'vv1',
'kk2': 'vv2',
'kk3': (11,22),
}
],
"k4": (11,22,33,44)
}
del dic["k1"]
print(dic)

  

输出结果

{'k2': True, 'k3': [11, [], (), 22, 33, {'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11, 22)}], 'k4': (11, 22, 33, 44)}

  

6、字典的for循环

在字典的for循环中,默认只会输出字典的keys

如:

dic = {
"k1": 18,
"k2": True,
"k3": [
11,
[],
(),
22,
33,
{
'kk1': 'vv1',
'kk2': 'vv2',
'kk3': (11,22),
}
],
"k4": (11,22,33,44)
}
for item in dic:
print(item)

  

输出结果

k1
k2
k3
k4

  

如果想要输出values可以这样写

dic = {
"k1": 18,
"k2": True,
"k3": [
11,
[],
(),
22,
33,
{
'kk1': 'vv1',
'kk2': 'vv2',
'kk3': (11,22),
}
],
"k4": (11,22,33,44)
}
for item in dic.values():
print(item)

  

输出结果

18
True
[11, [], (), 22, 33, {'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11, 22)}]
(11, 22, 33, 44)

  

想要输出keys也可以这样写

dic = {
"k1": 18,
"k2": True,
"k3": [
11,
[],
(),
22,
33,
{
'kk1': 'vv1',
'kk2': 'vv2',
'kk3': (11,22),
}
],
"k4": (11,22,33,44)
}
for item in dic.keys():
print(item)

  

输出结果

k1
k2
k3
k4

  

如果想同时输出keys、values
则可以这样写

dic = {
"k1": 18,
"k2": True,
"k3": [
11,
[],
(),
22,
33,
{
'kk1': 'vv1',
'kk2': 'vv2',
'kk3': (11,22),
}
],
"k4": (11,22,33,44)
}
for k,v in dic.items():
print(k,v)

  

输出结果

k1 18
k2 True
k3 [11, [], (), 22, 33, {'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11, 22)}]
k4 (11, 22, 33, 44)

  

分析:这里用的是字典的items()方法

7、字典的in判断

例子

dic = {
"k1": 18,
"k2": True,
"k3": [
11,
[],
(),
22,
33,
{
'kk1': 'vv1',
'kk2': 'vv2',
'kk3': (11,22),
}
],
"k4": (11,22,33,44)
}
v1= "k4"in dic
v2= "18"in dic
print(v1,v2)

  

输出结果

True False

  

分析:

分析:这里默认判断的是key,如果想判断value可以这样写

v1= "k4"in dic.values()

六、字典的方法

1、clear()

和列表中的用法类似。

dic = {
"k1": 18,
"k2": True,
"k3": [0,"ni"],
"k4": (11,22,33,44)
}
dic.clear()
print(dic)

  

输出结果

{}

  

2、copy()

和列表中的用法类似。

dic = {
"k1": 18,
"k2": True,
"k3": [0,"ni"],
"k4": (11,22,33,44)
}
v = dic.copy()
print(v)

  

输出结果

{'k1': 18, 'k2': True, 'k3': [0, 'ni'], 'k4': (11, 22, 33, 44)}

  

3、fromkeys()

用于创建一个新字典,以序列seq中元素做字典的键,value为字典所有键对应的初始值。
语法:

dict.fromkeys(seq[, value]))
例子

dic = {
"k1": 18,
"k2": True,
"k3": [0,"ni"],
"k4": (11,22,33,44)
}
v = dic.fromkeys([1,2,3])
print(v)

  

输出结果

{1: None, 2: None, 3: None}

  

分析:这里以fromkeys()第一个参数作为生成字典额keys,如果没有第二个参数则默认values为None

例子

dic = {
"k1": 18,
"k2": True,
"k3": [0,"ni"],
"k4": (11,22,33,44)
}
v = dic.fromkeys([1,2,3],"nicholas")
print(v)

  

输出结果

{1: 'nicholas', 2: 'nicholas', 3: 'nicholas'}

  

分析:这里以fromkeys()的第一个参数作为keys,第二个参数统一作为各个keys的值。

4、get()

根据key获取值,key不存在时,可以指定默认值
例子

 dic = {
"k1": 18,
"k2": True,
"k3": [0,"ni"],
"k4": (11,22,33,44)
}
v = dic.get("k1","no")
print(v)

  

输出结果

18

  

分析:get()第一个参数是要取回的key,第二个参数是如果key不存在返回的内容。这时这里的"no"被忽略了。

例子

dic = {
"k1": 18,
"k2": True,
"k3": [0,"ni"],
"k4": (11,22,33,44)
}
v = dic.get("k11","no")
print(v)

  

输出结果

no

  

分析:这里可以看到,当取回的值不存在时,get()返回了规定的内容。

5、items()

以列表返回可遍历的(键, 值) 元组数组。
例子

dic = {
"k1": 18,
"k2": True,
"k3": [0,"ni"],
"k4": (11,22,33,44)
}
v= dic.items()
print(v)

  

输出结果

dict_items([('k1', 18), ('k2', True), ('k3', [0, 'ni']), ('k4', (11, 22, 33, 44))])

  

6、keys()

以列表返回一个字典所有的键。
例子

dic = {
"k1": 18,
"k2": True,
"k3": [0,"ni"],
"k4": (11,22,33,44)
}
v= dic.keys()
print(v)

  

输出结果

dict_keys(['k1', 'k2', 'k3', 'k4'])

  

7、pop()

删除并获取被删除的值
删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。

dic = {
"k1": 18,
"k2": True,
"k3": [0,"ni"],
"k4": (11,22,33,44)
}
dic.pop("k2")
print(dic)

  

输出结果

{'k1': 18, 'k3': [0, 'ni'], 'k4': (11, 22, 33, 44)}

  

例子

dic = {
"k1": 18,
"k2": True,
"k3": [0,"ni"],
"k4": (11,22,33,44)
}
v = dic.pop("k2")
#这里获取删除的key的值
print(dic,v)

  

#这里获取删除的key的值
print(dic,v)

输出结果

{'k1': 18, 'k3': [0, 'ni'], 'k4': (11, 22, 33, 44)} True

  

8、popitem()

随机返回并删除字典中的一对键和值(一般删除末尾对)。
如果字典已经为空,却调用了此方法,就报出KeyError异常。

例子

dic = {
"k1": 18,
"k2": True,
"k3": [0,"ni"],
"k4": (11,22,33,44)
}
v = dic.popitem()
print(dic,v)

  

输出结果

{'k1': 18, 'k2': True, 'k3': [0, 'ni']} ('k4', (11, 22, 33, 44))

  

这里也返回了被删除的键值位值
还可以这样写

dic = {
"k1": 18,
"k2": True,
"k3": [0,"ni"],
}
k,v = dic.popitem()
#这里把被删除的字典的key赋值给k,被删除的value赋值给v
print(dic,k,v)

  

输出结果

{'k1': 18, 'k2': True} k3 [0, 'ni']

  

9、setdefault()

setdefault()设置键和值,

如果key已存在,不设置,获取当前key对应的值
如果key不存在,设置,如果键不存在于字典中,将会添加键并将值设为默认值,返回新加入字典的键的值。
例子

dic = {
"k1": 18,
"k2": True,
}
v = dic.setdefault("k1",123)
print(dic,v)

  

输出结果

{'k1': 18, 'k2': True} 18

  

分析:这里的键"k1"已经存在,获取原"k1"的值18

例子

dic = {
"k1": 18,
"k2": True,
}
v = dic.setdefault("k12",123)
print(dic,v)

  

输出结果

{'k1': 18, 'k2': True, 'k12': 123} 123

  

分析:setdefault()里的键位在原字典不存在,所以键值位值被添加进去,同时返回了值。

10、update()

更新字典,已经存在的直接覆盖掉,没有的直接加上去
例子

dic = {
"k1": 18,
"k2": True,
}
dic.update({"k1":12,"k12":123})
print(dic)

  

输出结果

{'k1': 12, 'k2': True, 'k12': 123}

  

分析:这里可以看到,"k1"的值被直接修改了,原字典没有的"k12"直接被添加进去了。
update()还可以这样写

dic = {
"k1": 18,
"k2": True,
}
print(dic)
dic.update(k1 = "1",k2 = "2",k5 = "5")
print(dic)

  

输出结果

{'k1': 18, 'k2': True}
{'k1': '1', 'k2': '2', 'k5': '5'}

  

分析:可以看到新的字典是update参数里等号左右两边生成的键值位值

11、values()

以列表返回字典中的所有值。
例子

dic = {
"k1": 18,
"k2": True,
}
v = dic.values()
print(dic)
print(v)

  

输出结果

{'k1': 18, 'k2': True}
dict_values([18, True])

  

七、重点知识

1、数字中的int()

2、字符串的方法

a、replace()
b、find()
c、join()
d、strip()
e、startswith()
f、split()
g、upper()
h、lower()
i、format()

3、列表的方法
append()、extend()、insert()
索引、切片、循环

4、元组
索引、切片、循环
一级元素整体不能被修改

5、字典的方法
get()、update()、keys()、values()
、items()

八、布尔值

true 、false
以下布尔值都为假
None 空
"" '' 空字符串
()空元组
[]空列表
{}空字典
0

Python之路(第四篇):Python基本数据类型列表、元组、字典的更多相关文章

  1. Python之路(第八篇)Python内置函数、zip()、max()、min()

    一.python内置函数 abs() 求绝对值 例子 print(abs(-2)) all() 把序列中每一个元素做布尔运算,如果全部都是true,就返回true, 但是如果是空字符串.空列表也返回t ...

  2. python的学习笔记01_4基础数据类型列表 元组 字典 集合 其他其他(for,enumerate,range)

    列表 定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素 特性: 1.可存放多个值 2.可修改指定索引位置对应的值,可变 3.按照从左到右的顺序定义列表元素,下标从0开始顺序访问 ...

  3. python之路第四篇(基础篇)

    一.冒泡算法实现: 方法一: li = [13,33,12,80,66,1] print li for m in range(4): num1 = li[m] num2 = li[m+1] if nu ...

  4. 【Python之路】第九篇--Python基础之线程、进程和协程

    进程与线程之间的关系 线程是属于进程的,线程运行在进程空间内,同一进程所产生的线程共享同一内存空间,当进程退出时该进程所产生的线程都会被强制退出并清除.线程可与属于同一进程的其它线程共享进程所拥有的全 ...

  5. Python之路(第五篇) Python基本数据类型集合、格式化、函数

    一.变量总结 1.1 变量定义 记录某种状态或者数值,并用某个名称代表这个数值或状态. 1.2 变量在内存中的表现形式 Python 中一切皆为对象,数字是对象,列表是对象,函数也是对象,任何东西都是 ...

  6. 【Python之路】特别篇--Python面向对象(进阶篇)

    上一篇<Python 面向对象(初级篇)>文章介绍了面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使 ...

  7. Python之路(第七篇)Python作用域、匿名函数、函数式编程、map函数、filter函数、reduce函数

    一.作用域 return 可以返回任意值例子 def test1(): print("test1") def test(): print("test") ret ...

  8. 【Python之路】特别篇--Python切片

    字符串切片操作 切片操作符是序列名后跟一个方括号,方括号中有一对可选的数字,并用冒号分割. 注意: 数是可选的,而冒号是必须的. consequence[start:end:step] 切片操作符中的 ...

  9. 【Python之路】特别篇--Python内置函数

    abs() 求绝对值 i = abs(-100) print(i) # 100 all() 循环里面的参数 如果每个元素都为真,那么all返回值为真  假: 0 False None "&q ...

随机推荐

  1. Fixation index

    :或者1.简单介绍 固定指数(FST)是一种由遗传结构决定的种群分化指标.它通常是由遗传多态性数据,如单核苷酸多态性(SNP)或微卫星估计.作为莱特f统计的一个特例,它是种群遗传学中最常用的统计方法之 ...

  2. uuid生成工具类

    public class UUIDTool { public static String getUUID() { return UUID.randomUUID().toString().replace ...

  3. Shader基础(固定管线着色器)

    在Shader的编码中,要养成不加空格的习惯,否则会有时候出现一些错误 固定管线着色器: 优点:实现简单 缺点:处理的效果比较差 //设置Shader的路径 Shader "MyFixedS ...

  4. mysql里max_allowed_packet的作用

    MySQL根据配置文件会限制Server接受的数据包大小.有时候大的插入和更新会受 max_allowed_packet 参数限制,导致写入或者更新失败. 查看目前配置: 代码如下: show VAR ...

  5. 矩形覆盖(python)

    题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形.请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? # -*- coding:utf-8 -*- class S ...

  6. 【收藏】UI自动化测试基本规则与设计模式

    总体规则 所有模块设计均遵循page object结构 用例层:测试人员编写测试用例代码的地方,可以调用page层和封装层. page层:一个页面一个类,包含该页面的业务逻辑封装以及部分控件定义. 封 ...

  7. PL/SQL Dev连接Oracle弹出空白提示框的解决方法分享

    第一次安装Oracle,装在虚拟机中,用PL/SQL Dev连接远程数据库的时候老是弹出空白提示框,网上找了很久,解决方法也很多,可是就是没法解决我这种情况的. 出现这种问题,解决方法大概有这几种: ...

  8. decay

    decay - 必应词典 美[dɪ'keɪ]英[dɪ'keɪ] v.衰减:腐朽:衰败 n.腐烂:衰退:腐朽 网络衰变:腐败 变形过去分词:decayed:现在分词:decaying:第三人称单数:de ...

  9. SDK和API

    软件开发工具包(缩写:SDK.外语全称:Software Development Kit)一般都是一些软件工程师为特定的软件包.软件框架.硬件平台.操作系统等建立应用软件时的开发工具的集合. 笔记:开 ...

  10. vue动态绑定类样式ClassName知多少

    对于动态绑定类样式,之前用的最多的也就是:class="{'classA':true}" ,今天遇到一种情况,就是要给元素动态添加一个保存在数据源中的类样式,那前边的这种写法显然满 ...