# 列表最后新增元素
 li = [11, 22, 33]
print(li)
li.append(44) # 对原列表最后增加一个元素
print(li)
执行如下:
[11, 22, 33]
[11, 22, 33, 44]
# 列表清空
li = [11, 22, 33, 44, 55]
li.clear() # 清空列表
print(li)
执行如下: []
# 列表拷贝
li = [22, 21, 32, 53]
bi = li.copy() # 拷贝一个新列表
print(li)
print(bi)

  

执行如下:
[22, 21, 32, 53]
[22, 21, 32, 53]
# 对原有列表进行扩展
li = [23, 34, 25, 26]
li.extend("") # 将两个字符串扩展到列表
print(li)

[23, 34, 25, 26, '1', '1']

li.extend([93]) # 扩展一个列表
print(li)

[23, 34, 25, 26, '1', '1', 93]

bi = [12, 423, 231]
li.extend(bi) # 将另一个列表扩展进来,从原列表后面添加
print(li)

[23, 34, 25, 26, '1', '1', 93, 12, 423, 231]

li = list([1, 2, 3])
print(li)
li.extend([11, 22]) # 扩展一个列表
print(li)
li.extend((911, 22)) # 也可以是元组
print(li)

执行如下:

[1, 2, 3]
[1, 2, 3, 11, 22]
[1, 2, 3, 11, 22, 911, 22]

#  列表索引
li = [1, 2, 3, 4, 5]
print(li.index(5)) # 获取列表元素的下标号

执行如下:
4
# 列表插入
li = [2, 2334, 11, 33]
li.insert(2, ("a", "b", "c")) # 在索引2处插入一个元组
print(li) li.insert(4, [66, 33]) # 在索引4处插入一个新列表
print(li) li.insert(1, "cc") # 在索引1处插入一个元素
print(li)
结果如下:
[2, 2334, ('a', 'b', 'c'), 11, 33]
[2, 2334, ('a', 'b', 'c'), 11, [66, 33], 33]
[2, 'cc', 2334, ('a', 'b', 'c'), 11, [66, 33], 33]

# 在移除列表元素,在消息队列中会用到
li = [2, 2334, 11, 33]
ret = li.pop() # 获取剔除的值,默认删除最后的值
print(li)
print(ret)
[2, 2334, 11]

33

ret1 = li.pop(0)   # 删除该索引处的元素,并获取删除的值
print(li) [2334, 11] print(ret1) 2

# 删除列表指定的值
li = [11, 22, 11, 22, 11]
print(li)
li.remove(11) # 删除列表某一元素,此处非索引,如有重复只删除第一个
print(li)

[11, 22, 11, 22, 11]
[22, 11, 22, 11]

# 列表元素反转
li = [11, 22, 33, 44, 55]
print(li)
li.reverse() # 反转列表元素
print(li)
[11, 22, 33, 44, 55]
[55, 44, 33, 22, 11]
 
# 统计某一元素在列表中的个数
li = [23, 342, 22, 42, 22]
cu = li.count(22) # 统计某一元素在列表中的个数
print(cu)

2
#列表数组排序
li = [22, 12, 212, 13, 423]
li.sort()
print(li)
[12, 13, 22, 212, 423]
 #如果需要一个排序好的副本,同时保持原有列表不变
a =[4, 6, 2, 1, 7, 9]
b = a[ : ]
b.sort()
print b #[1, 2, 4, 6, 7, 9]
print a #[4, 6, 2, 1, 7, 9]
#注意:b = a[:] 通过分片操作将列表a的元素全部拷贝给b,如果简单的把a赋值给b:b = a,b和a还是指向同一个列表,并没有产生新的副本

 
字典

 #encoding=utf-8  

 print '中国'  

 #字典的一键多值  

 print'方案一 list作为dict的值 值允许重复'    

 d1={}
key=1
value=2
d1.setdefault(key,[]).append(value)
value=2
d1.setdefault(key,[]).append(value) print d1 #获取值
print '方案一 获取值'
print list(d1[key]) print '方案一 删除值,会留下一个空列表'
d1[key].remove(value)
d1[key].remove(value)
print d1 print '方案一 检查是否还有一个值'
print d1.get(key,[]) print '方案二 使用子字典作为dict的值 值不允许重复' d1={}
key=1
keyin=2
value=11
d1.setdefault(key,{})[keyin]=value
keyin=2
value=22
d1.setdefault(key,{})[keyin]=value
keyin=3
value=33
d1.setdefault(key,{})[keyin]=value print d1 print '方案二 获取值'
print list(d1[key]) print '方案二 删除值,会留下一个空列表'
del d1[key][keyin]
keyin=2
del d1[key][keyin]
print d1 print '方案二 检查是否还有一个值'
print d1.get(key,()) print '方案三 使用set作为dict的值 值不允许重复'
d1={}
key=1
value=2
d1.setdefault(key,set()).add(value)
value=2
d1.setdefault(key,set()).add(value)
value=3
d1.setdefault(key,set()).add(value) print d1 print '方案三 获取值'
print list(d1[key]) print '方案三 删除值,会留下一个空列表'
d1[key].remove(value)
value=2
d1[key].remove(value)
print d1 print '方案三 检查是否还有一个值'
print d1.get(key,())

根据上面的实例我们完成一个实验:

如下 :

li = [11, 22, 33, 44, 55, 66, 77, 88, 99, 90]
dic = {}
将 li列表内所有数字分类,即将所有大于66的数字保存至字典的第一个KEY中,将所有小于等于66的数字保存至第二个KEY中
{key1} 大于66 {key2} 小于等于66 根据题目我自解的代码是:
 #!/usr/bin/env python3
# -*-coding:utf8-*- li = [11, 22, 33, 44, 55, 66, 77, 88, 99, 90]
dic = {}
for i in li:
if i > 66:
dic.setdefault("k1", set()).add(i)
else:
dic.setdefault("k2", set()).add(i)
print(dic)

运行结果是:

{'k2': {33, 66, 11, 44, 22, 55}, 'k1': {88, 90, 99, 77}}


字典其它一些测试

#!/usr/bin/env python3.5
# -*-coding:utf8-*- # tu = (0, 2, 3, 4,)
# tu = tuple((11, 22, 34,))
# tu = tuple([11, 22, 33, 34]) # dic = {"k1": "v1", "k2": "v2"}
# dic = dict(k1="v1", k2="v2")
# new_dict = dic.fromkeys(['k1', 'k2'], 'v1') # 将这些KEY 生成一个新的字典
# print(new_dict) # dic = {"k1": "v1", "k2": "v2"}
# print(dic["k1"])
# print(dic["k2"])
# print(dic["k3"]) # 出错
#
# print(dic.get("k1"))
# print(dic.get("k2"))
# print(dic.get("k3", "alex")) # 如果KEY不存在 会默认使用值"alex"
#
# dic = {"k1": "v1", "k2": "v2"}
#
# print(dic.keys())
# print(dic.values())
# print(dic.items()) # 键值对
#
# for k in dic.keys():
# print(k)
# for v in dic.values():
# print(v)
# for k, v in dic.items():
# print(k, v) #
# dic = {"k1": "v1", "k2": "v2"}
# pp_dic = dic.pop("k1") # 必须加参数,指定一个KEY 因字典是无序的
# print(dic)
# print(pp_dic)
#
# dic.popitem() # 随机删除一对键值
# print(dic) # dic = {"k1": "v1", "k2": "v2"}
# dic['k3'] =123
# dic.setdefault('k4')
# print(dic) # 没什么用 # dic = {"k1": "v1", "k2": "v2"}
# ret = dic.update({"k3": 123}) #
# print(dic)
# print(ret)

python 列表、字典的方法的更多相关文章

  1. Python列表函数和方法

    Python列表函数和方法: 函数: len(列表名): 返回列表长度 # len(列表名): # 返回列表长度 lst = [1,2,3,'a','b','c'] print("lst 列 ...

  2. Python列表的remove方法的注意事项

    为何没有删除列表中的全部元素? 解释: 按照执行顺序,第一个空格被删除之后,后面的元素会前移(变成['空格','空格','12','23']),指针下一次会指向新列表的第二个元素(即初始状态的第三个空 ...

  3. python之字典及其方法---整理集

    字典 特点: 使用逗号分隔的key:value形式: 使用大括号括起来: key-value的键值对中,value部分可以是任意类型: 列表.字典不能做为字典的key: 字典是无序的,哪个key-va ...

  4. python :列表 字典 集合 类 ----局部变量可以改全局变量

    #列表 字典 集合 类 ----局部变量可以改全局变量,除了整数和字符串 names=["alex","jack","luck"] def ...

  5. Python中字典get方法的使用

    Python中字典get方法的使用 说起来,这个功能是否需要学习还真是有待于讨论.其实,知道了字典这种数据结构以后,通过最基本的Python功能也能够实现一个类似的功能.不过,既然内置了这个功能那么我 ...

  6. python:字典的方法

    1.查找字典中的key对应的值和key是否存在(get,has_key)dict.get(key, default = None) :返回字典中key对应的值,若key不存在字典中,则返回defaul ...

  7. 了解Python列表的一些方法

    首先定义一个名字列表,然后使用print() BIF在屏幕上显示这个列表. 接下来,使用len() BIF得出列表中有多少个数据项,然后再访问并显示第2个数据项的值: 创建了列表之后,可以使用列表方法 ...

  8. python列表展开的方法

    只有一层嵌套的常见方法: # 普通方法 list_1 = [[1, 2], [3, 4, 5], [6, 7], [8], [9]] list_2 = [] for _ in list_1: list ...

  9. python之字典遍历方法

    字典遍历分为三种: 遍历key 遍历value 遍历key-value key遍历: >>> person={','city':'BeiJing'} >>> for ...

  10. Python中字典get方法的使用技巧

    get方法,用于获取字典中某个键值key 对应value的值,此方法可以接收两个参数,第一个参数传入key的值,第二个参数用于传入一个自定义返回值,如果查询的key在字典中存在,就会反回对应key在字 ...

随机推荐

  1. mysql循环插入数据库中数据。

    DELIMITER ;; CREATE PROCEDURE test_insert () BEGIN DECLARE i INT DEFAULT 1; WHILE i<100 DO insert ...

  2. android移动开发学习笔记(二)神奇的Web API

    本次分两个大方向去讲解Web Api,1.如何实现Web Api?2.如何Android端如何调用Web Api?对于Web Api是什么?有什么优缺点?为什么用WebApi而不用Webservice ...

  3. css3变形动画

    transform:变形 rotate:旋转 translate:移动 scale:缩放 skew:扭曲 一切变化都是“形变”引起的变化,所以transform就是老大,大家都围着他转 1.trans ...

  4. 安装配置Postgresql

    //关闭selinuxgetenforcesetenfroce 0vi /etc/selinux/configSELINUX=disabledSELINUXTYPE=targeted//关闭防火墙#c ...

  5. hdu 4122 Alice's mooncake shop(单调队列)

    题目链接:hdu 4122 Alice's mooncake shop 题意: 有n个订单和可以在m小时内制作月饼 接下来是n个订单的信息:需要在mon月,d日,year年,h小时交付订单r个月饼 接 ...

  6. 绿色版的mysql安装配置方式

    解压下载好的压缩包 copy 一份my-default.ini改名字为my.ini为mysql的配置文件 打开my.ini 修改配置文件 默认的原版文件为 # For advice on how to ...

  7. Vimperator技巧

    Vimperator技巧 什么是Vimperator?Firefox的一个插件,模拟vim操作. 1. 用]]打开"下一页"链接,[[打开"上一页"Vimper ...

  8. ElasticSearch(8)-分布式搜索

    分布式搜索的执行方式 在继续之前,我们将绕道讲一下搜索是如何在分布式环境中执行的. 它比我们之前讲的基础的增删改查(create-read-update-delete ,CRUD)请求要复杂一些. 注 ...

  9. Windows 多用户远程访问 Ubuntu 14.04桌面

    使用X2Go实现多用户远程访问 Ubuntu 14.04桌面:VNC也可以,但是每次连接VNC就回新创建一个Seession,想要在下次远程登录的时候返回上次活动,需要记住开启的线程,这种繁琐的操作不 ...

  10. mysql批量插入之提高插入效率

    INSERT INTO insert_table (datetime, uid, content, type) VALUES ('0', 'userid_0', 'content_0', 0); IN ...