Python基础 3

字典

 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的三目运算符用简短的代码完成需要完成的功能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值