# 列表最后新增元素
 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. Tiny6410之重定位代码到SRAM+4096

    重定位代码 两个不同的地址概念: 对于程序而言,需要理解两个地址,一个是程序当前所处的地址,即程序运行时所处的当前地址.二是程序应该位于的运行地址,即编译程序时所指定的程序的链接地址.在Tiny641 ...

  2. 【android错误】bitmap size exceeds 32bits

    使用图片缩放时遇到这么个问题: java.lang.IllegalArgumentException: bitmap size exceeds 32bits 后来一行行查代码,发现原来是 scale ...

  3. 淘宝npm镜像使用方法

    镜像使用方法(三种办法任意一种都能解决问题,建议使用第三种,将配置写死,下次用的时候配置还在): 通过config命令npm config set registry https://registry. ...

  4. JQuery-常用小组件

    常用的小组件记录 1. 单选框.复选框重置样式效果 参考: http://www.cnblogs.com/sanshi/p/4369375.html 三生石上 参考: http://www.jq22. ...

  5. mouseover和this的巧用

    mouseover & mouseout 的问题 在JS中,使用mouseover & mouseout会有触发多次的问题,这里Jquery有了替代的新属性 mouseover == ...

  6. [SQL基础教程] 2-3 逻辑运算符

    [SQL基础教程] 2-3 逻辑运算符 NOT AND OR 优先级 ( )改变优先级 AND 优先级高于 OR NULL 引入三值逻辑

  7. wpf 遍历listview 时 传入指定类型 得到指定类型控件info

    private ChildType FindVisualChild<ChildType>(DependencyObject obj) where ChildType : Dependenc ...

  8. ABAP字符串操作 截取字符长度 取位数

    ABAP字符串操作   ABAP對字串的操作方法與其他語言的操作有較大差別,以下是較常用的對字串操作的方法: 1. 字串的連接:CONCATENATEDATA: t1 TYPE c LENGTH 10 ...

  9. LeetCode #3. Longest Substring Without Repeating Characters C#

    Given a string, find the length of the longest substring without repeating characters. Examples: Giv ...

  10. iOS学习之Runtime(一)

    一.Runtime简介 因为Objective-C是一门动态语言,所以它总是想办法把一些决定性工作从编译链接推迟到运行时,也就是说只有编译器是不够的,还需要一个运行时系统(runtime system ...