Python 变量(下)
列表
列表是可修改的序列类型。所以列表不可以作为字典的键。
>>> a = [1]
>>> hash(a)
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
hash(a)
TypeError: unhashable type: 'list'
- 赋值操作:s[i] = x
- 赋值操作:s[i:j] = t
- 删除操作:del s[i:j] 相当于 s[i:j] = []
- 赋值操作:s[i:j:k] = t
- 删除操作:del s[i:j:k]
- 添加元素到末尾:s.append(x)
- 删除整个列表的元素:s.clear()
- 浅复制:s.copy() 相当于 s[:]
- 扩展列表:s.extend(t) 或者 s += t
- 复制内容n次:s* = n
- 在位置i,出入元素:s.insert(i,x)
- 弹出:s.pop([i])弹出位置 i 的元素,并返回, i 是可选的,默认弹出列表末尾的元素
- 删除:s.remove(x) 删除元素 x ,如果没有找到元素,抛出ValueError异常
- 倒序:s.reverse()
>>>s = [1,3]
>>> s
[1, 3]
>>> s.extend([4])
>>> s
[1, 3, 4]
>>> s += [6,7]
>>> s
[1, 3, 4, 6, 7]
>>> s *= 2
>>> s
[1, 3, 4, 6, 7, 1, 3, 4, 6, 7]
>>> s.insert(3, 10)
>>> s
[1, 3, 4, 10, 6, 7, 1, 3, 4, 6, 7]
>>> s.pop()
7
>>> s
[1, 3, 4, 10, 6, 7, 1, 3, 4, 6]
>>> s.pop(3)
10
>>> s
[1, 3, 4, 6, 7, 1, 3, 4, 6]
>>> s.remove(1)
>>> s
[3, 4, 6, 7, 1, 3, 4, 6]
>>> s.reverse()
>>> s
[6, 4, 3, 1, 7, 6, 4, 3]
>>> s.remove(100)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: list.remove(x): x not in list
元组
>>> t = 1
>>> hash(t)
3430019387558
元组的构造方式
>>> t = tuple()
>>> print(t)
()
>>> t = 1,
>>> print(t)
(1,)
>>> t[0]
1
>>> t[1]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: tuple index out of range
>>> t2 = (1,2,3)
>>> print(t2)
(1, 2, 3)
>>> t3 = tuple([1,2,3,4])
>>> print(t3)
(1, 2, 3, 4)
>>> t4 = tuple(range(10))
>>> print(t4)
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
>>> print(t4[3])
3
>>> print(t4[3:8])
(3, 4, 5, 6, 7)
字典
- {'one': 1}
- dict(**kwarg)
- dict(mapping, **kwarg)
- dict(iterable, **kwarg)
>>> a = dict(one=1, two=2, three=3)
>>> b = {'one': 1, 'two': 2, 'three': 3}
>>> a
{'one': 1, 'two': 2, 'three': 3}
>>> b
{'one': 1, 'two': 2, 'three': 3}
>>> c = dict(zip(['one', 'two', 'three'], [1,2,3]))
>>> c
{'one': 1, 'two': 2, 'three': 3}
>>> d = dict([('one', 1), ('two', 2), ('three', 3)])
>>> d
{'one': 1, 'two': 2, 'three': 3}
字典的操作
- 返回字典长度 len(d)
- 返回键值 d[key],如果键不存在,抛出 KeyError
- 设置或更新键值 d[key] = value
- 从字典中删除键 del d[key],如果键不存在,抛出 KeyError
- key in d 判断一个键是否存在
- iter(d) 返回一个包含字典中所有键的迭代器
- d.clear() 清空字典
- classmethod fromkeys(seq, [value]) 从一个序列seq生成一个字典,value值是可选的,不传默认是 None,这是一个类方法。
- d.get(key[, default]) 获取键key的值。key不存在,则返回第二个参数default的值,如果第二个参数没有传,返回 None 类型。
- d.items() 返回键值对的一个视图对象,可以用for遍历,键值对是元组形式。
- d.keys() 返回键的一个视图对象,可以用for遍历
- d.pop(key[, default]) 弹出键key的值,没有则返回default值
- d.popitem() 弹出一个键值元组
- d.setdefault(key[, default]) 如果键key存在,返回值,不存在则设置字典key=default,返回default
- d.update(other) 从other更新字典,如果other中的键已经存在了,则覆盖原来的值。
- d.values() 返回所有值的视图对象,可以用for遍历
>>> d = {}
>>> d['one'] = 1
>>> d['two'] = 2
>>> d
{'one': 1, 'two': 2}
>>> del d['not_exists']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'not_exists'
>>> del d['one']
>>> d
{'two': 2}
>>> d.clear()
>>> d
{}
>>> len(d)
0
>>> d = dict.fromkeys('abc', 2)
>>> d
{'a': 2, 'c': 2, 'b': 2}
>>> d.get('a', 100)
2
>>> d.get('f', 100)
100
>>> d
{'a': 2, 'c': 2, 'b': 2}
>>> for i in d.items(): print(i)
...
('a', 2)
('c', 2)
('b', 2)
>>> for i in d.keys(): print(i)
...
a
c
b
>>> d['c'] = 5
>>> for i in d.values(): print(i)
...
2
5
2
>>> d.pop('f')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'f'
>>> d.pop('f', 99)
99
>>> d
{'a': 2, 'c': 5, 'b': 2}
>>> d.popitem()
('a', 2)
>>> d
{'c': 5, 'b': 2}
>>> d.setdefault('c', 99)
5
>>> d
{'c': 5, 'b': 2}
>>> d.setdefault('e', 99)
99
>>> d
{'e': 99, 'c': 5, 'b': 2}
>>> d.update({'d': 8})
>>> d
{'e': 99, 'c': 5, 'b': 2, 'd': 8}
Python 变量(下)的更多相关文章
- [Python Basics]下划线变量
夜暗归云绕柁牙,江涵星影鹭眠沙. 行人怅望苏台柳,曾与吴王扫落花. 我平时很常见到的带有下划线的python变量有两种: 前后双下划线,我之前的理解是python程序中的类似meta data的信息, ...
- Python 变量作用域 LEGB (下)—— Enclosing function locals
上篇:Python 变量作用域 LEGB (上)—— Local,Global,Builtin https://www.cnblogs.com/yvivid/p/python_LEGB_1.html ...
- Python 变量类型
Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 因此,变量可以指定不同的数据 ...
- [No000064]python 变量命名规范
python源码和其他一些书籍,命名各种个性,没有一个比较统一的命名规范.于是总结了一些,供参考. 模块名: 模块应该使用尽可能短的.全小写命名,可以在模块命名时使用下划线以增强可读性.同样包的命名也 ...
- Python变量、数据类型6
1.Python变量 变量,即代表某个value的名字. 变量的值存储在内存中,这意味着在创建变量时会在内存中开辟一个空间. !!!即值并没有保存在变量中,它们保存在计算机内存的深处,被变量引用.所以 ...
- python 变量命名规范
python源码和其他一些书籍,命名各种个性,没有一个比较统一的命名规范.于是总结了一些,供参考. 模块名: 模块应该使用尽可能短的.全小写命名,可以在模块命名时使用下划线以增强可读性.同样包的命名也 ...
- Python变量类型
Python变量类型 变量是存储在内存中的值,因此在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定的内存,并决定什么数据可以被存储在内存中. 因此变量可以指定不同的数据类型, ...
- python——变量
参考资料: Python程序设计与实现 变量名的命名规则 仅仅由大.小写英文字母,下划线(_),数字(不可作为变量名的开头)组合而成: 不能使用Python关键字和函数名作为变量名: 变量名不能包含空 ...
- Python的下划线_
1.单下划线(_) 通常情况下,单下划线(_)会在以下3种场景中使用: 1.1 在解释器中: 在这种情况下,"_"代表交互式解释器会话中上一条执行的语句的结果.这种用法首先被标准C ...
- 【python系列】--Python变量和数据类型
python数据类型 一.整数 Python可以处理任意大小的整数,当然包括负整数,在Python程序中,整数的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等. 计算机由于使用 ...
随机推荐
- 【PaPaPa】集成B/S主流技术的MVC5项目 - 实干派:说做就做,我们已经起航,你还在观望吗
我们是谁 我们是C#爱好者,互相分享技术,一起学习一起成长一起做一个项目. 我们是开源爱好者,从我们手上出来的代码都会托管在源代码管理平台(oschina),到目前为止不收费,将来也不会出现任何收费情 ...
- 微信小程序中的 hover-class
微信小程序中,可以用 hover-class 属性来指定元素的点击态效果.但是在在使用中要注意,大部分组件是不支持该属性的. 目前支持 hover-class 属性的组件有三个:view.button ...
- 设置pdsh的默认登录模式
1.check your pdsh default rcmd rsh pdsh -q -w localhostSee what your pdsh default rcmd is. 2.Modify ...
- pygrib学习
pygrib-2.0.3/docs/index.html 导入pygrib模块 >>> import pygrib 打开grib文件,获取grib消息迭代器 >>> ...
- 接口自动化学习--mock
好久没有写学习的总结,都正月十二了,但还是要来个新年快乐鸭. 一直都在看imooc的一套java接口自动化实战课程,现在看到了尾部了,然后想到之前那些testng,mock,httpclient等都没 ...
- JUC——线程同步锁(ReentrantLock)
ReentrantLock简介 ReentrantLock是一个可重复的互斥锁,又被称为独占锁,可重入的意思是:ReentrantLock锁可以被单个线程多次获取.但是在同一个时间点只能被一个线程锁持 ...
- OTRS
更新OTRS root@localhost密码: sudo -u otrs /opt/otrs/bin/otrs.Console.pl Admin::User::SetPassword root@lo ...
- 高可用OpenStack(Queen版)集群-15.Glance&Cinder集成Ceph
参考文档: Install-guide:https://docs.openstack.org/install-guide/ OpenStack High Availability Guide:http ...
- caffe 预训练 或者Fine-Tuning 操作
1.使用预训练模型,需要修改训练的prototxt,将layer name改为与要使用模型的layer name相同即可. Borrowing Weights from a Pretrained Ne ...
- web02-welcomeyou
新建web项目web02-welcomeyou, 修改index.jsp为 <body> This is my JSP page. <br> <form action=& ...