python基础知识Day02

2.1 通用序列操作

python包含6种内建序列:列表、元组、字符串、Unicode字符串、buffer对象和xrange对象。其中列表和元组较为常用,二者区别在于,列表赋值之后可以修改,元组不能。

2.1.1 索引

代码示例2-1要求输入年、月、日,然后打印出相应日期的月份名称,年份

>>> months=[
... 'jan',
... 'feb',
... 'mar',
... 'apr',
... 'may',
... 'jun',
... 'july',
... 'aug',
... 'sep',
... 'oct',
... 'nov',
... 'dec'
... ]

>>> year=input('the year is:')
the year is:1997.
>>> day=input('the day is:')
the day is:3
>>> day_num=int(day)
>>> month=input('the month is:')
the month is:2
>>> month_num=int(month)
#注意把input中的str值转化为int值


>>> endings=['st','nd','rd']+17*['th']\
... +['st','nd','rd']+7*['th']\
... +['st']
#以1——31为结尾的序列


>>> month_name=months[month_num-1]
>>> ordinal=day+endings[day_num-1]
#注意把月份和天数减1,以获得正确的索引


>>> print('the zephia\'s birthday is:'+year + month_name +'.'+ordinal)
the zephia's birthday is:1997.feb.3rd

2.1.2 分片

分片操作来访问一定范围内的元素,通过冒号隔开的两个索引来实现。

>>> sentence='good good study day day up'

>>> sentence[5:]
'good study day day up'
>>> sentence[:4]
'good'
>>> sentence[:]
'good good study day day up'

#以步长来划分
>>> numbers=[1,2,3,4,5,6,7,8]
>>> numbers[0:8:2]
[1, 3, 5, 7]
>>> numbers[1:8:2]
[2, 4, 6, 8]
>>> numbers[::4]
[1, 5]
>>> numbers[8:0:-2]
[8, 6, 4, 2]

2.1.3 其他运算

#序列相加
>>> numbers=[1,2,3,4,5,6,7,8]
>>> nums=[9,10]
>>> numbers+nums
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]


#序列相乘
>>> nums*2
[9, 10, 9, 10]
>>> 'python'*3
'pythonpythonpython'

2.1.4 成员资格

检查一个值是否在序列中,可以使用in运算符。条件为真返回true,条件为假返回false

>>> numbers=[1,2,3,4,5,6,7,8]
>>> 3 in numbers
True
>>> 9 in numbers
False

2.2 列表

2.2.1 基本列表操作

#改变列表
>>> x=[1,2,3]
>>> x[1]=0
>>> x
[1, 0, 3]

#删除元素
>>> del x[0]
>>> x
[0, 3]

#分片赋值
>>> name=list('perl')
>>> name
['p', 'e', 'r', 'l']
>>> name[1:]=list('ython')
#从索引为1的元素开始,将原字符串转换为list中的字符串
>>> name
['p', 'y', 't', 'h', 'o', 'n']

2.2.2 列表方法

方法是一个与某些对象有着紧密联系的函数,对象可能是列表、数字,也可能是字符串。一般调用方法:
对象.方法(参数)

#append()在列表末尾追加新的对象
>>> price=[11.1,9.8,3.3]
>>> price.append(7.01)
>>> price
[11.1, 9.8, 3.3, 7.01]


#count()统计某个元素在列表出现的次数
>>> [1,2,3,2,5,3,2].count(2)
3


#extend()在列表的末尾一次性追加另一个序列的多个值
#原地修改了a序列,而不是创建了一个新的序列
>>> a=[1,2,3]
>>> b=[4,5,6]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6]


#index()找出某个值第一个匹配项的索引
>>> names=['zephia','lily','nancy','david','micky']
>>> names.index('micky')
4


#insert插入
>>> nums=[1,2,3,4,5]
>>> nums.insert(2,'happy')
>>> nums
[1, 2, 'happy', 3, 4, 5]


#pop()出栈函数:默认出栈最后一个元素
>>> x=[1,2,3,4,5]
>>> x.pop()
5
>>> x
[1, 2, 3, 4]
>>> x.pop(1)
2
>>> x
[1, 3, 4]


元组

元组和列表唯一的不同是元组不能修改,其创建方式也很简单,即用逗号隔开即可,并且大部分用圆括号括起来,并通过tuple()函数将序列转换成元组

>>> (1,2,3)
(1, 2, 3)
>>> tuple([1,2,3])
(1, 2, 3)
>>> tuple('abc')
('a', 'b', 'c')
>>> tuple((1,2,3))
(1, 2, 3)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值