python映射类型list_python中list常用操作实例详解

本文实例讲述了python中list常用操作。分享给大家供大家参考。具体分析如下:

1.定义list

1

2

3

4

5

6

7

>>> li= ["a","b","mpilgrim","z","example"]

>>> li

['a','b','mpilgrim','z','example']

>>> li[0]

'a'

>>> li[4]

'example'

2.负的list 索引

1

2

3

4

5

6

7

8

9

10

11

12

13

14

>>> li

['a','b','mpilgrim','z','example']

>>> li[-1]

'example'

>>> li[-3]

'mpilgrim'

>>> li

['a','b','mpilgrim','z','example']

>>> li[1:3]

['b','mpilgrim']

>>> li[1:-1]

['b','mpilgrim','z']

>>> li[0:3]

['a','b','mpilgrim']

3.向 list 中增加元素

1

2

3

4

5

6

7

8

9

10

11

>>> li

['a','b','mpilgrim','z','example']

>>> li.append("new")

>>> li

['a','b','mpilgrim','z','example','new']

>>> li.insert(2,"new")

>>> li

['a','b','new','mpilgrim','z','example','new']

>>> li.extend(["two","elements"])

>>> li

['a','b','new','mpilgrim','z','example','new','two','elements']

4.搜索 list

1

2

3

4

5

6

7

8

9

10

11

12

>>> li

['a','b','new','mpilgrim','z','example','new','two','elements']

>>> li.index("example")

5

>>> li.index("new")

2

>>> li.index("c")

Traceback (innermost last):

File "", line1,in ?

ValueError:list.index(x): xnot in list

>>>"c" in li

False

5.从 list 中删除元素

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

>>> li

['a','b','new','mpilgrim','z','example','new','two','elements']

>>> li.remove("z")

>>> li

['a','b','new','mpilgrim','example','new','two','elements']

>>> li.remove("new")

>>> li

['a','b','mpilgrim','example','new','two','elements']

>>> li.remove("c")

Traceback (innermost last):

File "", line1,in ?

ValueError:list.remove(x): xnot in list

>>> li.pop()

'elements'

>>> li

['a','b','mpilgrim','example','new','two']

remove 从 list 中删除一个值的首次出现。

remove 仅仅 删除一个值的首次出现。 在这里, 'new' 在 list 中出现了两次, 但 li.remove("new") 只删除了 'new' 的首次出现。

如果在 list 中没有找到值, Python 会引发一个异常来响应 index 方法。

pop 会做两件事: 删除 list 的最后一个元素, 然后返回删除元素的值。

6.list 运算符

1

2

3

4

5

6

7

8

9

10

>>> li= ['a','b','mpilgrim']

>>> li= li+ ['example','new']

>>> li

['a','b','mpilgrim','example','new']

>>> li+= ['two']

>>> li

['a','b','mpilgrim','example','new','two']

>>> li= [1,2]* 3

>>> li

[1,2,1,2,1,2]

7.使用join链接list成为字符串

1

2

3

4

5

>>> params= {"server":"mpilgrim","database":"master","uid":"sa","pwd":"secret"}

>>> ["%s=%s" % (k, v)for k, vin params.items()]

['server=mpilgrim','uid=sa','database=master','pwd=secret']

>>>";".join(["%s=%s" % (k, v)for k, vin params.items()])

'server=mpilgrim;uid=sa;database=master;pwd=secret'

join 只能用于元素是字符串的 list; 它不进行任何的类型强制转换。连接一个存在一个或多个非字符串元素的 list 将引发一个异常。

8.分割字符串

1

2

3

4

5

6

7

8

>>> li= ['server=mpilgrim','uid=sa','database=master','pwd=secret']

>>> s= ";".join(li)

>>> s

'server=mpilgrim;uid=sa;database=master;pwd=secret'

>>> s.split(";")

['server=mpilgrim','uid=sa','database=master','pwd=secret']

>>> s.split(";",1)

['server=mpilgrim','uid=sa;database=master;pwd=secret']

split 与 join 正好相反, 它将一个字符串分割成多元素 list。

注意, 分隔符 (“;”) 被完全去掉了, 它没有在返回的 list 中的任意元素中出现。

split 接受一个可选的第二个参数, 它是要分割的次数。

9.list的映射解析

1

2

3

4

5

6

7

8

>>> li= [1,9,8,4]

>>> [elem*2 for elemin li]

[2,18,16,8]

>>> li

[1,9,8,4]

>>> li= [elem*2 for elemin li]

>>> li

[2,18,16,8]

10.dictionary中的解析

1

2

3

4

5

6

7

8

9

10

11

12

13

>>> params= {"server":"mpilgrim","database":"master","uid":"sa","pwd":"secret"}

>>> params.keys()

['server','uid','database','pwd']

>>> params.values()

['mpilgrim','sa','master','secret']

>>> params.items()

[('server','mpilgrim'), ('uid','sa'), ('database','master'), ('pwd','secret')]

>>> [kfor k, vin params.items()]

['server','uid','database','pwd']

>>> [vfor k, vin params.items()]

['mpilgrim','sa','master','secret']

>>> ["%s=%s" % (k, v)for k, vin params.items()]

['server=mpilgrim','uid=sa','database=master','pwd=secret']

11.列表过滤

1

2

3

4

5

6

7

>>> li= ["a","mpilgrim","foo","b","c","b","d","d"]

>>> [elemfor elemin liif len(elem) >1]

['mpilgrim','foo']

>>> [elemfor elemin liif elem != "b"]

['a','mpilgrim','foo','c','d','d']

>>> [elemfor elemin liif li.count(elem)== 1]

['a','mpilgrim','foo','c']

希望本文所述对大家的Python程序设计有所帮助。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值