Meet Python: little notes 2
From this blog I will turn to Markdown for original writing.
Source: http://www.liaoxuefeng.com/
♥ list
- a list could be accessed using positive number (start from 0) in sequence or negative number in reverse sequence. Note that square brackets should be used here;
- listname.append('...'): add ... as the last element in the list;
- listname.insert(index, '...'): insert ... as the indexed element of the list;
- listname.pop(): delete the last element in the list;
- listname.pop(index): delete the last element in the list;
- listname[inedx] = '...': replace the indexed element to ...;
Note: The Python type list is like cell in Matlab, that the elements within one list are not necessarily the same type. The element in a list can even be another list.
>>> example = ['a', 'b', ['c', 'd'], 'e'];
>>> example[2][1]
d
# Defind a null list
>>> L = [];
>>> len(L)
0
♥ tuple
- a list whose elements cannot be changed once initialised. But pay attention that when defining a tuple, you should use round brackets (list: square brackets);
# Defing a null tuple
>>> t = ()
# Defining a tuple with only one element
>>> t = (1,)
# If you defining like this:
>>> t = (1)
1 # t is not a tuple, but an integer: 1
- just like list, the elements in a tuple can be of different type, so that we could use list to construct an 'alterable tuple'.
>>> t = ('a', 'b', ['A', 'B']);
>>> t[2][0] = 'X';
>>> t[2][1] = 'Y';
>>> t
('a', 'b', ['X', 'Y'])
♥ if-else
# - pay attention to the colon at the end of each judegmeng sentence;
# - unlike Matlab, there is no *end* at the end of the structure.
if <judgement 1>:
<action 1>
elif <judgement 2>:
<action 2>
elif <judgement 3>:
<action 3>
else:
<action 4>
♥ input
- When using input(), be cautious about the data type obtain from input(), which is originally str. If number is needed, int() privides a way to convert string to integer.
♥ Loop
- for...in
>>> sum = 0
>>> for x in range(5): # list(range(5)): [0, 1, 2, 3, 4]
sum = sum + x
>>> print(sum)
10
- while
End when the condition is not satisfied.
>>> sum = 0
>>> n = 99
>>> while n > 0:
sum = sum + n
s = n - 2
>>> print(sum)
2500
♥ dict
Abbreviation of dictionary, realising correspondance between multiple lists. With 'key-value' structure, dict could speed up the searching process;
operation examples:
# Using following dict to replace the following two lists in one time:
# names = ['Mary', 'Edith', 'Sybil']
# birth_order = [1, 2, 3]
>>> downton = {'Mary': 1, 'Edith': 2, 'Sybil': 3} # Using brace here
>>> downton['Mary']
1
# value assignment and obtainment
>>> downton['Edith'] = 2
>>> downton.get('Edith')
2
>>> downton.get('Carson')
# no return value if the key does not exist in the dict
>>> downton.get('Cora', -1) # return -1 if 'Cora' is not found
-1
>>> downton.get('Edith', -1) # while if 'Edith' already exists, will
# return the true value no matter what is
# assigned
2
#check if certain elements is in the dict
>>> 'Mary' in d
True
# Value deletion
>>> downton.pop('Sybil')
3
>>> print(downton)
{'Edith': 2, 'Mary': 1}
- Note
1 dict consumes a lot of RAM;
2 keys in dict should be unchanged objects: string, integer are OK while list cannot be a key;
3 The keys' storing order of dict is different from keys' assignment order;
>>> downton = {'Mary': 1, 'Edith': 2, 'Sybil': 3} # Using brace here
>>> downton['Mary']
1
>>> print(downton)
{'Edith': 2, 'Sybil': 3, 'Mary': 1}
♥ set
- Store keys in a non-repeat way(without values);
# A list should be provided as input to initialise a set
>>> s = set([1, 1, 2, 2, 3, 4])
>>> s
{1, 2, 3} # non-repeat keys
set_name.add(...): add ... into a set;
set_name.remove(...):remove certain key from a sey;
Note
1 like dict, keys in set should be unchanged objects;
2 advantage of set: good for set operation for its out-of-order and non-repeat nature.
Meet Python: little notes 2的更多相关文章
- Meet Python: little notes 3 - function
Source: http://www.liaoxuefeng.com/ ♥ Function In python, name of a function could be assigned to a ...
- Meet Python: little notes
Source: http://www.liaoxuefeng.com/ ❤ Escape character: '\' - '\n': newline; - '\t': tab; - '\\': \; ...
- Meet python: little notes 4 - high-level characteristics
Source: http://www.liaoxuefeng.com/ ♥ Slice Obtaining elements within required range from list or tu ...
- python 100day notes(2)
python 100day notes(2) str str2 = 'abc123456' print(str1.endswith('!')) # True # 将字符串以指定的宽度居中并在两侧填充指 ...
- 70个注意的Python小Notes
Python读书笔记:70个注意的小Notes 作者:白宁超 2018年7月9日10:58:18 摘要:在阅读python相关书籍中,对其进行简单的笔记纪要.旨在注意一些细节问题,在今后项目中灵活运用 ...
- [Python Study Notes]匿名函数
Python 使用 lambda 来创建匿名函数. lambda这个名称来自于LISP,而LISP则是从lambda calculus(一种符号逻辑形式)取这个名称的.在Python中,lambda作 ...
- [Python Study Notes]字符串处理技巧(持续更新)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
- [Python Study Notes]with的使用
在 Python 2.5 中, with 关键字被加入.它将常用的 try ... except ... finally ... 模式很方便的被复用.看一个最经典的例子: with open('fil ...
- [Python Study Notes]实现对键盘控制与监控
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
随机推荐
- 学习Coding-iOS开源项目日志(二)
继续前篇:<学习Coding-iOS开源项目日志(一)>,接着本第二篇<学习Coding-iOS开源项目日志(二)>讲解Coding-iOS开源项目. 前言:作为初级程序员,想 ...
- linux下使用yum安装mysql详解
1.安装客户端和服务器端 确认mysql是否已安装: ? 1 2 yum list installed mysql* rpm -qa | grep mysql* 查看是否有安装包: ? 1 yum l ...
- MVC模式与三层架构和表示层
1.MVC模式 - Model-View-Controller - 模型-视图-控制器 - Model(模型) > 模型分为业务模型,和数据模型 ...
- (翻译) TFS源代码控制的未来 (TFSVC vs. Git)
说明:由于博客园的限制,之前转发的MVP卢建晖的文章不能放入首页,但我会继续转发,感兴趣的同学请到我的博客首页查看. 博主: 翻译自微软Visual Studio ALM产品组老大Brian Harr ...
- 正则表达式 exec 获取字符串中的汉字
要求:仅获取attr中的 “编辑发起状态的执行人表单” ,路径C:\fakepath\是不固定的,可以是C:\fakepath\hhh\hhhh\ 解决: var attr = C:\fakepath ...
- yii2解决百度编辑器umeditor图片上传问题
作者:白狼 出处:http://www.manks.top/article/yii2_umeditor_upload本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原 ...
- PHP判断字符串中是否包含指定字符串,支持中文哦
RT,随手写的 /** * 判断字符串中是否包含指定字符串 * @var source 源字符串 * @var target 要判断的是否包含的字符串 * @return bool */ functi ...
- ADO.Net(一)——增、删、改、查
数据访问 对应命名空间:System.Data.SqlClient; SqlConnection:连接对象 SqlCommand:命令对象 SqlDataReader:读取器对象 CommandTex ...
- linux的“自动化”
h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h ...
- iOS Build Active Architecture Only 属性的理解(及 not found for architecture i386 的解决方案)
最近做项目过程遇到一个问题: 涉及到这个属性:Build Active Architecture Only Yes .No的区别: 设置为yes,是只编译当前的architecture版本,是为了编译 ...