字典
list字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:
d = {key1 : value1, key2 : value2 }
键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。
>>>dict = {'a': 1, 'b': 2, 'b': '3'}
>>> dict['b']
'3'
>>> dict
{'a': 1, 'b': '3'}
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
一个简单的字典实例:
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
也可如此创建字典:
dict1 = { 'abc': 456 }
dict2 = { 'abc': 123, 98.6: 37 }
dic常用方法
-
dict.clear()
删除字典内所有元素 -
dict.copy()
返回一个字典的浅复制 -
dict.fromkeys(seq[, val])
创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值 -
dict.get(key, default=None)
返回指定键的值,如果值不在字典中返回default值 -
dict.has_key(key)
如果键在字典dict里返回true,否则返回false -
dict.items()
以列表返回可遍历的(键, 值) 元组数组 -
dict.keys()
以列表返回一个字典所有的键 -
dict.setdefault(key, default=None)
和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default -
dict.update(dict2)
把字典dict2的键/值对更新到dict里 -
dict.values()
以列表返回字典中的所有值 -
pop(key[,default]
删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。 -
popitem()
随机返回并删除字典中的一对键和值。 -
list.count(obj)统计某个元素在列表中出现的次数
-
list.extend(seq)在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
-
list.index(obj)从列表中找出某个值第一个匹配项的索引位置
-
list.remove(obj)移除列表中某个值的第一个匹配项
-
list.reverse()反向列表中元素
-
list.sort(cmp=None, key=None, reverse=False)对原列表进行排序
集合
集合(set)是一个无序的不重复元素序列。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建格式:
parame = {value01,value02,...}
或者
set(value)
需要注意的是:元组中只包含一个元素时,需要在元素后面添加逗号
tup1 = (50,)
简单操作
>>>basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
>>> print(basket) # 这里演示的是去重功能
{'orange', 'banana', 'pear', 'apple'}
>>> 'orange' in basket # 快速判断元素是否在集合内
True
>>> 'crabgrass' in basket
False
>>> # 下面展示两个集合间的运算.
...
>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a
{'a', 'r', 'b', 'c', 'd'}
>>> a - b # 集合a中包含而集合b中不包含的元素
{'r', 'd', 'b'}
>>> a | b # 集合a或b中包含的所有元素
{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
>>> a & b # 集合a和b中都包含了的元素
{'a', 'c'}
>>> a ^ b # 不同时包含于a和b的元素
{'r', 'd', 'b', 'm', 'z', 'l'}
set常用方法
-
add()
为集合添加元素 -
clear()
移除集合中的所有元素 -
copy()
拷贝一个集合 -
difference()
返回多个集合的差集 -
difference_update()
移除集合中的元素,该元素在指定的集合也存在。 -
discard()
删除集合中指定的元素 -
intersection()
返回集合的交集 -
intersection_update()
返回集合的交集。 -
isdisjoint()
判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。 -
issubset()
判断指定集合是否为该方法参数集合的子集。 -
issuperset()
判断该方法的参数集合是否为指定集合的子集 -
pop()
随机移除元素 -
remove()
移除指定元素 -
symmetric_difference()
返回两个集合中不重复的元素集合。 -
symmetric_difference_update()
移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。 -
union()
返回两个集合的并集 -
update()
给集合添加元素
判断语句
Python中if语句的一般形式如下所示:
if condition_1:
statement_block_1
elif condition_2:
statement_block_2
else:
statement_block_3
如果 “condition_1” 为 True 将执行 “statement_block_1” 块语句
如果 “condition_1” 为False,将判断 “condition_2”
如果"condition_2" 为 True 将执行 “statement_block_2” 块语句
如果 “condition_2” 为False,将执行"statement_block_3"块语句
Python 中用 elif 代替了 else if,所以if语句的关键字为:if – elif – else。
注意:
1、每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。
2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
3、在Python中没有switch – case语句。
简单实例:
num=int(input("输入一个数字:"))
if num%2==0:
if num%3==0:
print ("你输入的数字可以整除 2 和 3")
else:
print ("你输入的数字可以整除 2,但不能整除 3")
else:
if num%3==0:
print ("你输入的数字可以整除 3,但不能整除 2")
else:
print ("你输入的数字不能整除 2 和 3")
循环语句
for语句
>>>languages = ["C", "C++", "Perl", "Python"]
>>> for x in languages:
... print (x)
...
C
C++
Perl
Python
>>>
while语句
n = 100
sum = 0
counter = 1
while counter <= n:
sum = sum + counter
counter += 1
print("1 到 %d 之和为: %d" % (n,sum))
range()
>>>for i in range(5):
... print(i)
...
0
1
2
3
4
break
for letter in 'Runoob': # 第一个实例
if letter == 'b':
break
print ('当前字母为 :', letter)
var = 10 # 第二个实例
while var > 0:
print ('当期变量值为 :', var)
var = var -1
if var == 5:
break
print ("Good bye!")
#以下为结果
当前字母为 : R
当前字母为 : u
当前字母为 : n
当前字母为 : o
当前字母为 : o
当期变量值为 : 10
当期变量值为 : 9
当期变量值为 : 8
当期变量值为 : 7
当期变量值为 : 6
Good bye!
continue
for letter in 'Runoob': # 第一个实例
if letter == 'o': # 字母为 o 时跳过输出
continue
print ('当前字母 :', letter)
var = 10 # 第二个实例
while var > 0:
var = var -1
if var == 5: # 变量为 5 时跳过输出
continue
print ('当前变量值 :', var)
print ("Good bye!")
#以下为结果
当前字母 : R
当前字母 : u
当前字母 : n
当前字母 : b
当前变量值 : 9
当前变量值 : 8
当前变量值 : 7
当前变量值 : 6
当前变量值 : 4
当前变量值 : 3
当前变量值 : 2
当前变量值 : 1
当前变量值 : 0
Good bye!
三目表达式
例一:编写一个Python程序,输入两个数,比较它们的大小并输出其中较大者。
x = int(input("please enter first integer:"))
y = int(input("please enter second integer:"))
#一般的写法
if (x == y):
print("两数相同!")
elif(x > y):
print("较大的数为:",x)
else:
print("较大的数为:",y)
# 三目运算符写法
print(x if(x>y) else y)
例二:写一个算法(流程图和python程序):输入三个数,输出其最大者。
x = int(input("输入第一个数:"))
y = int(input("输入第二个数:"))
z = int(input("输入第三个数:"))
#三目运算符的第一种写法
print((x if (x>y) else y) if ((x if (x>y) else y)>z) else z)
#三目运算符的第二种写法
a=(x if (x>y) else y)
print(a if (a>z) else z)
从这两个列子可以看出用Python的三目运算符用简短的代码完成需要完成的功能