3.Python(列表,元组,字典)

一.列表

A 基础格式

1.列表中的元素,只要是你见过的什么数字,字符串,列表,布尔值就都能放进去

2.可以进行切片,切片结果也是列表

li = ["qq", 11, 22, 33, 78]
print(li[1:3])

3.可以进行循环

4.删除

li = ["qq", 11, 22, 33, 78]
del li[0]
print(li)

5.修改  直接赋值

6. in操作 

li = [1, 12, 9, "age", ["石振文", ["19", 10], "庞麦郎"], "alex", True]
v1 = "石振文" in li
print(v1)
v2 = "age" in li
print(v2)

 

7.字符串转换列表 

s = "pouask"
new_li = list(s)
print(new_li)

8.列表转换字符串

# 需要自己写for循环一个一个处理: 既有数字又有字符串
li = [11, 22, 33, "123", "alex"]
s = ""
for i in li:
    s = s + str(i)
print(s)

# 直接使用字符串join方法:列表中的元素只有字符串
# li = ["123","alex"]
# v = "".join(li)
# print(v)

9.列表是有序的

B 函数功能

1.☆☆☆原来值后面追加  列表对象.append(追加内容)

2.清空列表 列表对象.clear

3.拷贝 新列表=旧列表.copy() 新列表和旧列表一样

4.计算元素出现的次数 列表对象.count(某个元素)

5.☆☆☆扩展原函数 列表元素.extend

li=[11,22,33,22,44]
li.extend("不得了")
print(li)

li = [11, 22, 33, 22, 44]
li.extend([9898,"不得了"])
print(li)

6.☆☆☆在指定索引位置插入元素

li = [11, 22, 33, 22, 44]
li.insert(0,99)
print(li)

7.根据值获取当前值索引位置

li = [11, 22, 33, 22, 44]
v= li.index(22)

8.删除某个值(可指定索引,默认最后一个)还可获取删除的值

li = [11, 22, 33, 22, 44]
v = li.pop()
print(li)
print(v)

9.删除列表中的指定值,左边优先

li = [11, 22, 33, 22, 44]
li.remove(22)
print(li)

10.将当前列表进行翻转

li = [11, 22, 33, 22, 44]
li.reverse()
print(li)

11.列表的排序

li = [11,44, 22, 33, 22]
li.sort()
# li.sort(reverse=True)  从大到小
print(li)

二.元组

A.基础格式

1.书写格式

tu = (111,"alex",(11,22),[(33,44)],True,33,44,) 最后一个元素后最好写“,”
逗号,显得规范   元素用括号括住

2.索引 v=tu[0]

3.切片 v=tu[0:2]

4.是可迭代对象,可以循环

tu = (111,"alex",(11,22),[(33,44)],)
for item in tu:
    print(item)

5.字符串转换成元组

s = "asdfasdf0"
v = tuple(s)
print(v)

6.列表转换成元组

li = ["asdf","asdfasdf"]
v = tuple(li)
print(v)

7.元组转换成列表

tu = ("asdf","asdf")
v = list(tu)
print(v)

8.连接元组各元素变成字符串

tu = ("asdf","asdf")
v = "_".join(tu)
print(v)

9.元组的一级元素不可修改/删除/增加

比如可以修改元组里的一个列表中的元素,想删除这个列表也是不可以的

三、字典

A.基本结构

 1.

info = {
    "k1": "v1", # 键值对 冒号前的是key,后面是value
    "k2": "v2"
}

2.字典中的value可以是任意值

3.布尔值(1,0)、列表、字典不能作为字典的key

4.字典是无序的

5.索引方式找到指定元素,不能切片

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

6.del删除

7.可以进行for循环

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

for item1 in info.keys():
    print(item1)

for item2 in info.values():
    print(item2)

for item3 in info.keys():
    print(item3, info[item3])

for k, v in info.items():
print(k, v)

运行结果同上

 8.in操作

v = "k1" in dic
print(v)

n = "v1" in dic.values()
print(n)

B.函数功能

1.根据序列,创建字典,并指定统一的值

v = dict.fromkeys(["k1",123,"999"],123)
print(v)

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

dic = {
    "k1": 'v1',
    "k2": 'v2'
}
v = dic.get('k3',11111)
print(v)

 

3.删除并获取值

dic = {
    "k1": 'v1',
    "k2": 'v2'
}
v = dic.pop('k1')
print(dic,v)

 随机删用dic.popitem()

k,v = dic.popitem()  #随机删的
print(dic,k,v)

4.设置值

  已存在,不设置,获取当前key对应的值

  不存在,设置,获取当前key对应的值

dic = {
    "k1": 'v1',
    "k2": 'v2'
}
v = dic.setdefault('k1111','123')
print(dic,v)

5.更新字典

dic = {
    "k1": 'v1',
    "k2": 'v2'
}
dic.update({'k1': '111111','k3': 123})
print(dic)

dic.update(k1=123,k3=345,k5="asdf")
print(dic)

原文地址:https://www.cnblogs.com/zhaojiayu/p/12416270.html