python简单语法

本文深入讲解Python中字典(dict)、集合(set)及切片操作的基础知识与高级应用,通过实例演示如何利用这些数据结构进行高效编程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • dict,类似于map函数,里面有key和value,表示映射关系,使用{}创建
  • 例:
d = {
    'Adam': 95,
    'Lisa': 85,
    'Bart': 59
}
  • dict 访问支持直接用关键词来访问,赋值,
>>> print d['Adam']
95
>>> print d['Paul']
Traceback (most recent call last):
  File "index.py", line 11, in <module>
    print d['Paul']
KeyError: 'Paul'
  • if,判断一个key是否存在,两种方式
    • in运算符,
    • 使用dict提供的get运算符,
    • 例:
if 'Paul' in d:
    print d['Paul']
#下面是命令窗口使用get方法
>>> print d.get('Bart')
59
>>> print d.get('Paul')
None
  • dict,可以用for遍历,例子如下
d = {
    'Adam': 95,
    'Lisa': 85,
    'Bart': 59
}
for key in d:
    print key + ':', d[key]
  • set,和c++(stl)里面set就一样了,里面只存key,访问方式和dict相同
    • in运算符可以判断是否存在key
    • 例:
    • 注意set的声明方式
>>> s = set(['A', 'B', 'C', 'C'])
>>> print s
set(['A', 'C', 'B'])
>>> len(s)
  • set,add(key),添加数据,不会添加重复的数据,key为参数,这里关键字为key
  • set,remove(key),删除数据,有的才会删除,key为参数,key为可搜索关键字
  • def,定义函数,后面跟函数名和参数名(变量无类型),然后执行代码块,执行到return时候返回
    • 例:
    • 注意def定义完之后加冒号,表示接下来的代码块为函数体,if,for和while同理
def square_of_sum(L):
    s = 0
    for key in L:
        s = s + key * key
    return s

print square_of_sum([1, 2, 3, 4, 5])
print square_of_sum([-5, 0, 5, 15, 25])
  • def,可以返回多值,本质上是返回tuple(常量数组),
    • 例:
import math

def quadratic_equation(a, b, c):
    t = math.sqrt(b * b - 4 * a * c)
    return ( -b +  t)/(2 * a), ( -b - t)/(2 * a)

print quadratic_equation(2, 3, 0)
print quadratic_equation(1, -6, 5)
  • def,可以指定默认参数,但是必须在必须参数后面,类似于c++
  • :,切片(Slice)操作符
    • 1参数,L[:3]表示为L[0:3],另一个操作数默认为0。
      • 1参数,L[-3:]位于冒号前可以用负数,等同于,负数加长度为起始值取到最后
      • 1参数,L[3:]位于冒号前用正数,后面无参数,等同于从当前取到最后
    • 2参数,L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元素。
    • 3参数,L[0:3:1]表示,每多少个取一个,前两个参数表示范围。
    • 例:
    • 注:字符串可当作list,直接使用冒号切片操作来剪切字符串。
L = range(1, 101)

print L[:10]
print L[2::3]
print L[4:50:5]#每5个取一个·1

运行成功
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99]
[5, 10, 15, 20, 25, 30, 35, 40, 45, 50]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值