专栏首页python3python列表、元组(三)

python列表、元组(三)

一、列表

1. 创建列表

>>> name = ['gao', 'sam', 'snow', 'jey']
>>> type(name)
<type 'list'>
>>> name=list(['gao', 'sam', 'snow', 'jey'])   # python 3.0+ 会报错
>>> type(name)
<type 'list'>
>>> name = []
>>> type(name)
<type 'list'>
>>> name = list()   # python 3.0+ 会报错
>>> type(name)
<type 'list'>

2.  切片  与字符串类似

>>> name = ['Sam', 'Jey', 'Snow', 'Amy']
>>> name[2]
'Snow'
>>> name[1:]
['Jey', 'Snow', 'Amy']
>>> name[-2:]
['Snow', 'Amy']
>>> name[-1:-3:-1]
['Amy', 'Snow']

3. 追加

>>> name = ['Sam', 'Jey', 'Snow']
>>> name.append('Yang')
>>> name
['Sam', 'Jey', 'Snow', 'Yang']

4. 插入

>>> name
['Sam', 'Jey', 'Snow', 'Yang']
>>> name.insert(1, 'Long')
>>> name
['Sam', 'Long', 'Jey', 'Snow', 'Yang']

5.  修改

>>> name
['Sam', 'Long', 'Jey', 'Snow', 'Yang']
>>> name[2]='Goo'
>>> name
['Sam', 'Long', 'Goo', 'Snow', 'Yang']

6. 删除

方法一

>>> name
['Sam', 'Long', 'Goo', 'Snow', 'Yang']
>>> del name[0]
>>> name
['Long', 'Goo', 'Snow', 'Yang']

方法二

>>> name
['Long', 'Goo', 'Snow', 'Yang']
>>> name.remove('Goo')
>>> name
['Long', 'Snow', 'Yang']

方法三

>>> name = ['Sam', 'Jey', 'Snow', 'Yang']
>>> name.pop()
'Yang'
>>> name
['Sam', 'Jey', 'Snow']
>>> name.pop(1)
'Jey'
>>> name
['Sam', 'Snow']

7. 扩展

>>> name = ['Sam', 'Jey', 'Snow', 'Yang']
>>> girls=['Goo', 'Di']
>>> name.extend(girls)
>>> name
['Sam', 'Jey', 'Snow', 'Yang', 'Goo', 'Di']

8. 拷贝

浅拷贝一

>>> name = ['Sam', 'Jey',['age', 'salary']]
>>> name2 = name.copy()
>>> name2
['Sam', 'Jey', ['age', 'salary']]
>>> name[0]='Sam2'
>>> name[2][0]='age2'
>>> name
['Sam2', 'Jey', ['age2', 'salary']]
>>> name2
['Sam', 'Jey', ['age2', 'salary']]

浅拷贝二

>>> name = ['Sam', 'Jey',['age', 'salary']]
>>> name2=name[:]
>>> name2
['Sam', 'Jey', ['age', 'salary']]
>>> name[0]='Sam2'
>>> name[2][0]='age2'
>>> name
['Sam2', 'Jey', ['age2', 'salary']]
>>> name2
['Sam', 'Jey', ['age2', 'salary']]

浅拷贝三   (只适应python2.0+)

>>> name = ['Sam', 'Jey', ['age', 'year']]
>>> name2 = list(name)
>>> name2
['Sam', 'Jey', ['age', 'year']]

深拷贝

>>> import copy
>>> name = ['Sam', 'Jey',['age', 'salary']]
>>> name2=copy.deepcopy(name)
>>> name[0]='Sam2'
>>> name[2][0]='age2'
>>> name
['Sam2', 'Jey', ['age2', 'salary']]
>>> name2
['Sam', 'Jey', ['age', 'salary']]

9. 统计

>>> name = ['Sam', 'Jey', 'Sam',1, 9]
>>> name.count('Sam')
2

10. 排序翻转

>>> name = ['Sam', 'Jey', 'Sam',1, 9]
>>> name.sort()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: '<' not supported between instances of 'int' and 'str'
>>> name = ['Sam', 'Jey', 'Sam']
>>> name.sort()
>>> name
['Jey', 'Sam', 'Sam']
>>> name = ['Sam', 'Jey', 'Sam','1', '9']
>>> name.sort()
>>> name
['1', '9', 'Jey', 'Sam', 'Sam']
>>> name.reverse()
>>> name
['Sam', 'Sam', 'Jey', '9', '1']

10. 获取下标

>>> name = ['Sam', 'Jey', 'Sam','1', '9']
>>> name.index('Jey')
1
>>> name.index('aa')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: 'aa' is not in list

11. 清除

>>> name = ['Sam', 'Jey', 'Sam','1', '9']
>>> name.clear()
>>> name
[]

二.  元组

元组就是不可变的列表,只能读取,不能修改

1. 元组定义

>>> name=('Sam', 'Gao', 'jey')
>>> name
('Sam', 'Gao', 'jey')
>>> team=('ops',)
>>> team
('ops',)
>>> type(team)
<class 'tuple'>

2. 切片  与列表类似

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 33. Python redis的 h

    #name 对应的hash中设置一个键值对(不存在,则创建键值对;否则,修改键值对)

    py3study
  • Python学习记录day2

    Python是一门基于虚拟机的语言,pyc 是由py文件经过编译后二进制文件,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由...

    py3study
  • 【python】redis模块

    windows下载地址:https://github.com/MSOpenTech/redis/releases

    py3study
  • 细说shiro之五:在spring框架中集成shiro

    特别地!Shiro使用了日志框架slf4j,因此需要对应配置指定的日志实现组件,如:log4j,logback等。 在此,以使用log4j为日志实现为例:

    2Simple
  • Python学习记录day2

    Python是一门基于虚拟机的语言,pyc 是由py文件经过编译后二进制文件,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由...

    py3study
  • 海量数据迁移之分区并行抽取(r2笔记53天)

    在之前的章节中分享过一些数据迁移中并行抽取的细节,比如一个表T 很大,有500G的数据,如果开启并行抽取,默认数据库中并行的最大值为64,那么生成的dump文件...

    jeanron100
  • 如何在 MySQL 中判断中文字符?

    原文出处: 温国兵 一 引子 在生产环境中,经常会有这样的场景:获得中文数据。那问题就来了,怎么才能匹配出中文字符呢? 本文提供两种方法。 二 演示 2.1 ...

    wangxl
  • Graphql入门

    GraphQL是一个查询语言,由Facebook开发,用于替换RESTful API。服务端可以用任何的语言实现。具体的你可以查看Facebook关于Graph...

    查理大叔
  • python变量、语句

    mwangblog
  • Enum

    Enum是一种受限制的类,编译时IDE会为enum生成一个相关的类,这个类继承自 java.lang.Enum,且具有自己的方法

    Howl

扫码关注云+社区

领取腾讯云代金券