4.1 Python列表

• 列表用 [ ] 标识,是Python 最通用的复合数据类型。
• 列表用 [ ] 表示,列表具有可嵌套性

4.1.1 Python列表截取

• 列表可以使用 [头下标:尾下标] 截取相应的子列表, 从左到右索引默认 0 开始,从右到左索引默认-1开始

4.1.2 Python列表截取与更新

• 列表操作(索引)

4.1.3 Python更新列表

• 可以对列表的数据项进行修改或更新,也可以使用append()方法来添加列表项。

4.1.4 Python删除列表元素

• 可以使用 del 语句来删除列表的的元素。

4.1.5 Python列表操作符

4.1.6 Python列表函数

4.1.7 Python列表方法

4.1.8 Python列表切片

• 列表操作(切片slicing ,用索引截取某一段列表)

• 加号+是列表连接运算符,星号*是重复操作。例如:

4.2 Python元组

• 元组是一种复合数据类型,类似于List(列表),元组用()”标识,内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。

• Tuples(元组、序列)

• Tuples操作

4.2.1 Python元组截取

4.2.2 Python元组不允许二次赋值

• Python元组不允许更新,而列表是允许更新的。以下对元组的操作是无效的。

4.2.3 元组内置函数

4.3 Python集合(Set)

• 集合(set)是由一个或数个形态各异的大小整体组成的
• 可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是{ },因为 { } 是用来创建一个空字典。
• 创建集合格式:

• 或者

4.4 Python字典

• 字典是一种映射类型,字典用“{}”标识,它是一个无序的键(key) : 值(value)对的集合。键(key)必须使用不可变类型。在同一个字典中,键(key)必须是唯一的。
• 字典是无序的对象集合。
• Dictionaries (Key-Value型Map)

4.5 Python序列

• 序列(sequence),在Python中是一种具有相同特性的高级数据结构的统称
• 序列的通用操作:
① 通过索引来获取元素值
② 分片操作
③ 通过+合并元素
④ 通过*来复制元素
⑤ 支持成员运算符
⑥ 最大值、最小值和长度函数支持

4.6 Python数据类型转换

• 对数据内置的类型进行转换,只需要将数据类型作为函数名即可。

4.7 实验

In:

ls1 = ['a,',['b',['c','d']]]

In:

id(ls1)

out:

2078516844424

In:

ls1 = ['c','d']

In:

id(ls1)

out:

2078505627016

In:

ls1

out:

['a,', ['b', ['c', 'd']]]

In:

ls1[1][1][1]

out:

'd'

In:

a1 = 1

In:

id(a1)

out:

140727695483280

In:

a1 = 2

In:

id(a1)

out:

140727695483312

In:

ls1[0] = 'f'
ls1

out:

['f', ['b', ['c', 'd']]]

In:

id(ls1)

out:

2078516829704

In:

ls1.append(['h','g'])

In:

id(ls1)

out:

2078516844424

In:

ls1

out:

['f', ['b', ['c', 'd']], ['h', 'g']]

In:

del ls1[0]
ls1

out:

[['b', ['c', 'd']], ['h', 'g']]

In:

ls2 = ['q','e']
ls1 + ls2

out:

[['b', ['c', 'd']], ['h', 'g'], 'q', 'e']

In:

'q' in ls2

out:

True

In:

for x in ls2:print(x, end=' ')

out:

q e

In:

list((1,2))

out:

[1, 2]

In:

ls1.extend(ls2)
ls1

out:

[['b', ['c', 'd']], ['h', 'g'], 'q', 'e', 'q', 'e', 'q', 'e']

In:

ls1.insert(0,'z')

In:

ls1

out:

['z', ['b', ['c', 'd']], ['h', 'g'], 'q', 'e', 'q', 'e', 'q', 'e']

In:

ls1.pop()
ls1

out:

['z', ['b', ['c', 'd']], ['h', 'g'], 'q', 'e', 'q', 'e']

In:

ls1.remove('z')

In:

ls1

out:

[['b', ['c', 'd']], ['h', 'g'], 'q', 'e', 'q', 'e']

In:

ls1.reverse()

In:

ls1

out:

['e', 'q', 'e', 'q', ['h', 'g'], ['b', ['c', 'd']]]

In:

ls2.sort()

In:

ls2.sort(reverse=True)

In:

# ls1.sort() #嵌套类型不能用

In:

ls2

out:

['q', 'e']

In:

ls2.append('e')
ls2

out:

['q', 'e', 'e']

4.7.1 元组

In:

tu1  = ('a',1,['c','d'])

In:

tu1[0] = 'e'

out:

---------------------------------------------------------------------------TypeError                                 Traceback (most recent call last)<ipython-input-38-75e55e2a1153> in <module>
----> 1 tu1[0] = 'e'
TypeError: 'tuple' object does not support item assignment

4.7.2 集合

  • 不能重复
  • set()
  • 无序
    In:
set([1,1,2])

out:

{1, 2}

In:

a = set([1,2,3])
b = set([4,2,3])

In:

a - b

out:

{1}

In:

a & b

out:

{2, 3}

In:

a | b

out:

{1, 2, 3, 4}

In:

a ^ b

out:

{1, 4}

4.7.3 字典

In:

dic1 = {'a':1,'b':2,'c':3}

In:

dic1['c']

out:

3

In:

#新增
dic1['d'] = 4
dic1

out:

{'a': 1, 'b': 2, 'c': 3, 'd': 4}

In:

s1 = None
# null, nan

In:

dic1['e']

out:

---------------------------------------------------------------------------KeyError                                  Traceback (most recent call last)<ipython-input-61-898ad45657b2> in <module>
----> 1 dic1['e']
KeyError: 'e'

In:

dic1.get('e',None)

In:

dic1.keys()

out:

dict_keys(['a', 'b', 'c', 'd'])

In:

for key in dic1.keys():print(dic1[key])

out:

1
2
3
4

In:

dic1.values()

out:

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

In:

dic1.items()

out:

dict_items([('a', 1), ('b', 2), ('c', 3), ('d', 4)])

In:

for key,val in dic1.items():print(key + "|" +str(val))

out:

a|1
b|2
c|3
d|4

In:

lis1= ['a',1,['c','d']]

In:

a1,a2,a3 = lis1

In:

print(a1,a2,a3)

out:

a 1 ['c', 'd']

无序字典
In:

dic3 = {'a':1,'b':2}
dic4 = {'b':2,'a':1}
dic3 == dic4

out:

True

有序字典
In:

from collections import OrderedDict
dic11 = OrderedDict()
dic11['a'] = 1; dic11['b'] =2

In:

dic12 = OrderedDict()
dic12['b'] = 2; dic12['a'] =1
dic11 == dic12

out:

False

In:

print(dic11)

out:

OrderedDict([('a', 1), ('b', 2), ('c', 0), (1, 3)])

In:

dic11.

实验
在一个字典中保存了股票的代码和价格,找出股价大于100元的股票并创建一个新的字典。

说明:可以用字典的生成式语法来创建这个新字典。
In:

stocks = {'AAPL': 191.88,'GOOG': 1186.96,'IBM': 149.24,'ORCL': 48.44,'ACN': 166.89,'FB': 208.09,'SYMC': 21.29
}

In:

tar_dic = {}
for key,val in stocks.items():if val > 100:tar_dic[key] = val

In:

tar_dic

out:

{'AAPL': 191.88, 'GOOG': 1186.96, 'IBM': 149.24, 'ACN': 166.89, 'FB': 208.09}

In:

tar_dic2 = {key:val for key,val in stocks.items() if val > 100}

In:

tar_dic2

out:

{'AAPL': 191.88, 'GOOG': 1186.96, 'IBM': 149.24, 'ACN': 166.89, 'FB': 208.09}

python中元组和列表转化_4.Python列表/元组/集合/字典相关推荐

  1. python中使用zip函数基于两个列表数据list创建字典dict数据(Create a dictionary by passing the output of zip to dict)

    python中使用zip函数基于两个列表数据list创建字典dict数据(Create a dictionary by passing the output of zip to dict) 目录

  2. python如何创建一个列表_使用python中的format()创建一个列表(make a list using format() in python)...

    使用python中的format()创建一个列表(make a list using format() in python) 我是python和编码的新手. 因此,如果已经讨论过这件事,我很抱歉,我无 ...

  3. python中字母数字的大小比较_python列表怎么比较大小

    Python中可以使用cmp()函数比较两个列表的大小. cmp()函数语法:cmp(list1, list2) 参数: list1 -- 比较的列表.list2 -- 比较的列表. 返回值: 如果比 ...

  4. python中的命名空间_深入理解Python中的命名空间和范围

    Python中的命名空间和范围 在Python中,每个包.模块.类.函数和方法函数都拥有一个"名称空间",其中解析了变量名称.下面本篇文章就来带大家认识一下Python中的命名空间 ...

  5. python中获取文件大小_如何在Python中获取文件大小

    python中获取文件大小 We can get file size in Python using the os module. 我们可以使用os模块在Python中获取文件大小. Python中的 ...

  6. python中的递归思想_〖Python〗-- 递归、面向对象初识及编程思想

    [递归.面向对象初识及编程思想] 一.递归 1.定义: 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. (1)递归就是在过程或函数里调用自身: (2)在使用递归策 ...

  7. python统计元音字母个数_计算Python中的元音(Counting vowels in python)

    计算Python中的元音(Counting vowels in python) def main(): print(count) def countVowels(string): vowel=(&qu ...

  8. python中输入字符串_简单讲解Python中的字符串与字符串的输入输出

    简单讲解Python中的字符串与字符串的输入输出 发布于 2016-03-26 14:35:42 | 110 次阅读 | 评论: 0 | 来源: 网友投递 Python编程语言Python 是一种面向 ...

  9. python的继承用法_【后端开发】python中继承有什么用法?python继承的用法详解

    本篇文章给大家带来的内容是关于python中继承有什么用法?python继承的用法详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 面向对象三大特征 1.封装:根据职责将属性和方法 ...

最新文章

  1. git clean和git reset结合用法
  2. SAP QM初阶之QS26 - Where-Used List for Master Insp. Characteristic
  3. C++ Primer 5th笔记(3)字符串、向量和数组:字符串
  4. jsp设置背景图片并使得图片扩大到整个屏幕
  5. string类有可以调换方向的函数吗_String类中常用的操作
  6. jquery获取指定属性为指定值的对象
  7. GCC-windows的预编译版本——nuwen MinGW
  8. 如何安装Catfish(鲶鱼)
  9. 主成分分析(PCA)算法实现iris数据集降维
  10. 探究施乐打印机新功能
  11. Qt:20---Containers控件的使用
  12. java实现 -- 模板方法模式 -- 旅游签证
  13. “作为女程序员,我成了国内唯一的 GitHub Star”
  14. 云起实验室:零基础入门Serverless:一键部署红白机小游戏
  15. 从小白到数据分析师的成长之路
  16. python实现zigzag_Zigzag Iterator的Pythonic方式?
  17. Jenkins插件下载失败或下载慢或报错There were errors checking the update sites: SSLHandshakeException: sun.secu解决方案
  18. win7计算机里不显示摄像头,win7没有摄像头图标怎么办|win7显示摄像头图标的方法...
  19. eclipse的jar包在Linux中报错
  20. 计算机大赛鼓励语录,致2019年的自己 鼓励自己的经典语句

热门文章

  1. cdi-api_使用CDI简化JAX-RS缓存
  2. hibernate乐观锁_Hibernate Collection乐观锁定
  3. dot2谜团png_一个类加载的谜团解决了
  4. 排队论游乐场的游乐项目_外汇游乐场
  5. 从StreamCorruptedException解析值:无效的流头消息
  6. JDK 11:轻松取出单文件Java源代码程序
  7. Java中没有递归的二进制搜索–迭代算法
  8. Spring中@ Component,@ Service,@ Controller和@Repository之间的区别
  9. jackson使用_如何在Jackson中使用PropertyNamingStrategy
  10. Spring Boot –适合您的靴子!