Python基础知识(2.7)之列表、元组

1、eval() 函数用来执行一个字符串表达式,并返回表达式的值。

eg:>>> eval('1-2')    -1

一个简易计算器:

num = str(input(""))

print(str(eval(num)))

 

eval函数是把str转化成list、dict、tuple

str函数把list,dict,tuple转为为字符串

2、数据结构是通过某种方式组织在一起的数据元素的集合。Python中最基本呢的数据结构是序列。Python包含六种内建的序列。最重要的两种类型:列表和元组,其它的还有字符串、Unicode字符串、buffer对象、xrange对象。列表和元组的区别在于列表可修改而元组不能。

3、将列表转换为字符串

>>> a=list('dfg')

>>> a

['d', 'f', 'g']

>>> ''.join(a)

'dfg'

4、基本列表操作

(1)改变列表

>>> a

['d', 'f', 'g']

>>> a[0]='a'

>>> a

['a', 'f', 'g']

(2)删除元素

>>> a

['a', 'f', 'g']

>>> del a[2]

>>> a

['a', 'f']

(3)分片赋值

分片替换:

>>> a

['z', 'z', 'w', 'w', 'w']

>>> a[2:]=list('xxx')

>>> a

['z', 'z', 'x', 'x', 'x']

插入新元素:

>>> a

['z', 'z', 'x', 'x', 'x']

>>> a[1:1]=['a']

>>> a

['z', 'a', 'z', 'x', 'x', 'x']

替换元素:

>>> a

['z', 'a', 'z', 'x', 'x', 'x']

>>> a[1:4]=['l','h']

>>> a

['z', 'l', 'h', 'x', 'x']

删除元素:

>>> a

['z', 'l', 'h', 'x', 'x']

>>> a[0:1]=[]

>>> a

['l', 'h', 'x', 'x']

删除所有元素:

>>> a

['z', 'l', 'h', 'x', 'x']

>>> a[0:10]=[]

>>> a

[]

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

(1)append方法用于在列表末尾追加新的对象;

>>> s= ['a','c','c','d','e','c','g']

>>> s.append('f')

>>> s

['a', 'c', 'c', 'd', 'e', 'c', 'g', 'f']

(2)count方法统计某个元素在列表中出现的次数;

>>> x.count(1)

1

(3)extend方法可以在列表的末尾一次性追加另一个序列中的多个值,意思就是可扩展原有的列表。

>>> x

[1, 2, 3]

>>> y

[4, 5, 6]

>>> x.extend(y)

>>> x

[1, 2, 3, 4, 5, 6]

(4)index方法用于从列表中找出某个值第一个匹配项的索引位置;

>>> x

[1, 2, 3, 4, 5, 6]

>>> x.index(1)

0

>>> x.index(2)

1

(5)insert方法用于将对象插入列表中;

>>> x

[1, 2, 3, 4, 5, 6]

>>> x.insert(6,7)

>>> x

[1, 2, 3, 4, 5, 6, 7]

(6)pop方法会移除列表中的一个元素(默认是最后一个),并返回该元素的值;(pop方法是唯一一个既能修改列表又返回元素值的列表方法(除了None

>>> x

[1, 0, 2, 3, 4, 5, 6, 1, 7]

>>> x.pop()

7

>>> x

[1, 0, 2, 3, 4, 5, 6, 1]

>>> x.pop(1)

0

>>> x

[1, 2, 3, 4, 5, 6, 1]

>>> x.pop(-1)

1

>>> x

[1, 2, 3, 4, 5, 6]

(7)remove方法用于移除列表中某个值的第一个匹配项;

>>> x

[1, 2, 3, 4, 5, 6]

>>> x.remove(2)

>>> x

[1, 3, 4, 5, 6]

(8)reverse方法将列表中的元素反向存放;

>>> x

[1, 3, 4, 5, 6]

>>> x.reverse()

>>> x

[6, 5, 4, 3, 1]

 

(9)sort方法用于在原位对列表进行排序;

>>> x

[6, 5, 4, 3, 1]

>>> x.sort()

>>> x

[1, 3, 4, 5, 6]

但此时x的值已经改变,如果不想x被改变还想得到排序后的值,需要为x添加一个副本赋值给一个变量,再排序:

>>> x

[6, 5, 4, 3, 1]

>>> y=x[:]    #复制整个列表的方法,单纯让y=x是不可行的

>>> y

[6, 5, 4, 3, 1]

>>> y.sort()

>>> x

[6, 5, 4, 3, 1]

>>> y

[1, 3, 4, 5, 6]

另一种获取已排序的列表副本的方法是用sorted函数

>>> x

[6, 5, 4, 3, 1]

>>> y=sorted(x)

>>> y

[1, 3, 4, 5, 6]

但是这个函数就算用于任何序列都会返回一个列表:

>>> sorted('123')

['1', '2', '3']

(10)高级排序:希望元素可以按照特定的方式进行排序。

>>> cmp(42,32)

1

>>> cmp(32,42)

-1

>>> cmp(1,1)

0

sort方法有另外两个可选的参数:keyreverse。如果以元素的长度进行排序可以用len作为键函数:

>>> z=['a','sss','fghjk','bb','ccccc']

>>> z.sort(key=len)

>>> z

['a', 'bb', 'sss', 'fghjk', 'ccccc']

reverse是简单的布尔值(TrueFalse),用来指明列表是否要进行反向排序:

>>> x

[1, 3, 4, 5, 6]

>>> x.sort(reverse=True)

>>> x

[6, 5, 4, 3, 1]

>>> x.sort(reverse=False)

>>> x

[1, 3, 4, 5, 6]

5、元组:元组也是一种序列,但不可修改。而且元组没有像列表一样的方法。

创建元组:

>>> 1,   #必须加个逗号,即使只有一个值

(1,)

>>> 1,2,3

(1, 2, 3)

>>> (1,2,3)

(1, 2, 3)

>>> ()  #空元组

()

逗号很重要:

>>> 3*(22)

66

>>> 3*(22,)

(22, 22, 22)

6、tuple函数:把序列转换为元组;list函数:把序列转换为列表。

列表  >>> x                 元组    >>> y

[1, 2, 3, 4]                     (1, 2, 3)

 

转载于:https://www.cnblogs.com/any-way/p/9403210.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值