列表与字典

1、列表获取元素的索引是从0开始,在列表中第N个元素,索引则是N-1

2、列表“分片”:

       2.1、从第1个索引开始,在第二个索引之前结束;p[1:3] 

        2.2、取回的元素为两个索引之差

        2.3、列表分片取回的原列表的一个分片(列表),原来的列表并没有改变

        2.4、列表的简写;建立整个列表的副本,原表不进行修改,则可使用L[:] 方式

L = ["a","b","c","d","e"]
print(L[1:3])

L = ["a","b","c","d","e"]
print(L[1:4])

L = ["a","b","c","d","e"]
print(L[1])
print(L[1:2])
print(L[:2])
print(L[2:])
print(L[:])

    3、 3.1:增加到列表末尾:append()

           3.2:  扩展列表 :extend()

           3.3:  插入一个元素:insert()

           

L.append("f")              # 增加一个元素至列表列尾
print(L)
L.insert(2,"A")              # 列表中位置插入一个元素
print(L)
L.extend(["g","h","l"])   # 扩展列表,列表末尾增加多个元素
print(L) 
L.append(["j","k"])        # 增加一个列表(本身也是一个元素)至列表中
print(L)
L.insert(3,["B","C"])      # 插入一个列表(本身也是一个元素)至列表中
print(L)
View Code
 删除元素的办法:其中pop(n)会给出这个索引位置的元素,而且会把它从列表中删除。

4     4.1  用remove()删除元素:不用考虑元素的位置

       4.2  用del删除元素:利用索引删除元素

       4.3  用pop()删除元素:从列表中取出一个元素

       

L.remove("A")    # 移除某个元素,不需要考虑元素的位置
del L[2]         #利用索引从列表中删除
L.pop()
L.pop(8)         # 从列表中取出最后一个元素
L_last = L.pop() # 从列表中取出一个元素并赋给变量
print(L_last)
print(L)
列表中删除元素

 5、 搜索列表

       5.1 查找元素列表是否在列表中   in 关键字

       5.2 查找元素在列表中的哪个位置(元素的索引)

       

print("a" in  L )
print('s ' in L)                   #  判断 元素是否在列表中
L_1 =L
if 'a' in  L_1:
    L_a = L_1.remove('a')     # 如果元素在列表中,便删除此元素,
    print(L_a)
    print(L_1)

L_2 =L
if 'b' in L_2 :
    print(L_2.index('b'))     # 如果元素在列表中,便找出一个元素位于列表中的位置
搜索列表

6、循环处理列表 

1 L = [1,2,3,4,5,6]
2 for i in L:
3    print(i)
循环迭代处理

7、列表排序

     7.1  sotr()会原地修改列表,它会改变你提供的原始列表,并不产生新的列表。

     7.2 reverse() 将列表的元素顺序倒过来。

     7.2  sort(reverse = True )  按降序排序。

     7.5 所以为一个东西指定一个名字时,只是向同一个东西增加新的标签。

           同时也可以将标签移动至全新的一个表。

    7.6  我们可以建立一个表的副表,然后对副表进行排序 就不会影响原来表的结构

num = [1,3,5,4,2,8,7,9]
str = ["a","c","b","f","e"]
num.sort()
str.sort()
print(str)
print(num)     # sort() 是在原地修改列表,会改变提供的原始列表,而不是创建新的列表

str.reverse()  # reverse 它会把列表中元素的顺序倒过来
num.reverse()
print(str)
print(num)
num.sort(reverse= True) # 另外一种办法是向sort()增加了一个参数,直接让它降序排序
print(num)


original = [5,4,3,2,1]
new = original    # new 指向original列表
print(new)
new.sort()
print(new)
print(original)   # 对列表已经进行了更改
original = [5,4,3,2,1]
new_1 = original[:]   # 创建列表的副表 
new_1.sort()
print(new_1)
print(original)  # 对原表未进行更改 
列表进行排序

8、 在python 中,数字与字符串是不可改变的(不能改变的),而列表是可以改变的。有一种不可改变的列表称为元组

9、双重列表:一个元素列表,每个元素本身也是一个列表;数据结构:利用L[][]可以知道每个信息存储的地方。

jo = [22,33,44]
mo = [55,66,77]
ko = [88,99,11]
classmo = [jo,mo,ko]  # 双重列表
print(classmo)
for studentment in classmo:
    print(studentment)
print (classmo[2][2])
双重列表

10、字典就是一种将两个东西关联在一起的方式。键和值,一个字典就是键值对的集合。

        列表与字典都可以包含任意类型的条目,都提供了集合中查找条目的方法:

        列表是有顺序的,字典是无序的,列表中的元素是用索引访问的,字典中的条目是用键来访问的,

        字典中的键是列表的,可进行排序 

phonenumber = {}  # 创建一个空的列表
phonenumber["wang"] = "13927400653"   # 给列表添加一个值
print(phonenumber)
phonenumber = {"cheng": "13845629871"}
print(phonenumber)
phonenumber["hua"] = "13927400611"
phonenumber["jiangzhen"] = "18873478141"
print(phonenumber)
print(phonenumber.keys())
print(phonenumber.values())

for key in sorted(phonenumber.keys()): # 字典的键是列表格式,可以进行排序
    print(key,phonenumber[key])

for value in sorted(phonenumber.values()):   # 先对值进行排序
    for key in sorted(phonenumber.keys()):
        if phonenumber[key] == value:
            print(key,phonenumber[key])

del phonenumber["wang"]
print(phonenumber)

print ('hua' in phonenumber)  # 判断"hua" 是否在列表中

phonenumber.clear() # 使用clear() 删除所有条目

print(phonenumber)
字典

     

    

        

原文地址:https://www.cnblogs.com/wangchenghua/p/11212030.html