列表
查
1 | tobaccos = [ |
黄鹤楼(软珍品)
中南海(硬酷爽风尚)
[‘黄鹤楼(软珍品)’, ‘中南海(硬酷爽风尚)’, ‘双喜(软经典)’, ‘中南海(典8)’, ‘蒙特二号10支装’]
[‘双喜(软经典)’, ‘中南海(典8)’, ‘蒙特二号10支装’]
利群(休闲云端)
[‘黄鹤楼(软珍品)’, ‘中南海(硬酷爽风尚)’, ‘双喜(软经典)’, ‘中南海(典8)’, ‘蒙特二号10支装’, ‘红双喜大喜’, ‘高希霸世纪二25支装’, ‘长白山(777)’, ‘黄金叶(乐途)’, ‘中南海(京韵细支烤烟)’, ‘钻石(经典纯和)’, ‘钻石(细支尚风)’, ‘中南海(典5)’, ‘黄鹤楼(硬15细支)’, ‘黄鹤楼(硬圣火)’, ‘双喜(国喜细支)’, ‘钻石(硬蓝)’, ‘钻石(一品荷花)’, ‘双喜(大国喜)’, ‘钻石(细支荷花)’, ‘云烟(清甜香)’, ‘黄鹤楼(软蓝)’, ‘利群(休闲云端)’]
改
1 | tobaccos[-1] = '吸烟有害健康' |
吸烟有害健康
删
1 | # 按索引删 |
增
1 | # 指定索引位置插入 |
[‘中华(硬)’, ‘中南海(硬酷爽风尚)’, ‘双喜(软经典)’, ‘中南海(典8)’, ‘红双喜大喜’]
玉溪(软)
对列表的常用操作
1 | print(len(tobaccos)) |
23
22
None
[‘利群(休闲云端)’, ‘黄鹤楼(软蓝)’, ‘云烟(清甜香)’, ‘钻石(细支荷花)’, ‘双喜(大国喜)’, ‘钻石(一品荷花)’, ‘钻石(硬蓝)’, ‘双喜(国喜细支)’, ‘黄鹤楼(硬圣火)’, ‘黄鹤楼(硬15细支)’, ‘中南海(典5)’, ‘钻石(细支尚风)’, ‘钻石(经典纯和)’, ‘中南海(京韵细支烤烟)’, ‘黄金叶(乐途)’, ‘长白山(777)’, ‘高希霸世纪二25支装’, ‘红双喜大喜’, ‘蒙特二号10支装’, ‘中南海(典8)’, ‘双喜(软经典)’, ‘中南海(硬酷爽风尚)’, ‘黄鹤楼(软珍品)’]
黄鹤楼(软珍品)
22
[]
元组
元组tuple用()表示
1 | tobaccos = ( |
查
1 | print(tobaccos[0]) |
黄鹤楼(软珍品)
(‘中南海(硬酷爽风尚)’, ‘双喜(软经典)’, ‘中南海(典8)’, ‘蒙特二号10支装’)
红双喜大喜
(‘黄鹤楼(软珍品)’, ‘中南海(硬酷爽风尚)’, ‘双喜(软经典)’, ‘中南海(典8)’, ‘蒙特二号10支装’, ‘红双喜大喜’)
改
元组不可变,不能如列表这样随意更改
1 | tobaccos[0] = '中华' |
TypeError: ‘tuple’ object does not support item assignment
删
也不能像列表那样删除
1 | del tobaccos[0] |
TypeError: ‘tuple’ object doesn’t support item deletion
但可以删除整个元组渣都不剩!
1 | del tobaccos |
增
元组也不具备列表insert、append两个增加方法
如硬要增加只能这样再搞个元组 + 合并进去,注意那个逗号,
1 | newtuple = ('中华',) + tobaccos |
(‘中华’, ‘黄鹤楼(软珍品)’, ‘中南海(硬酷爽风尚)’,
‘双喜(软经典)’, ‘中南海(典8)’, ‘蒙特二号10支装’, ‘红双喜大喜’)
列表与元组怎样选择,怎样转换
列表和元组里面都可以任意存储不同类型的数据
int、float、string杂食不会消化不良
列表主要用来存储经常需要变动的数据
元组可存储:坐标数据,地理位置的经纬度等不会变化的数据
1 | my_list = [('中华(硬)', 381.6, 450)] |
24
[(‘中华(硬)’, 381.6, 450), (‘天子(软黄)’, 392.2, 450)]
40
1 | my_list = [1, 2, 3, 4, 5] |
(1, 2, 3, 4, 5)
[1, 2, 3, 4, 5]
字典
字典里面的元素是由 key : value 键值对组成
键key不可重复
1 | tobaccos = {'品名': '中华(硬)', '批发价': 381.6,} |
查
1 | print(tobaccos) |
{‘品名’: ‘中华(硬)’, ‘批发价’: 381.6}
中华(硬)
381.6
改
1 | tobaccos['品名'] = '中华(软)' |
{‘品名’: ‘中华(软)’, ‘批发价’: 583}
删
指定键key删除
1 | del tobaccos['批发价'] |
{‘品名’: ‘中华(软)’}
清空字典:
1 | tobaccos.clear() |
删除字典:
1 | del tobaccos |
增
1 | # 增 |
{‘品名’: ‘中华(软)’, ‘批发价’: 583, ‘焦油量’: 11.0}
字典和列表以及元组之间的转换
1 | print(tobaccos.keys()) |
dict_keys([‘品名’, ‘批发价’, ‘焦油量’])
dict_values([‘中华(软)’, 583, 11.0])
dict_items([(‘品名’, ‘中华(软)’), (‘批发价’, 583), (‘焦油量’, 11.0)])
集合
集合set本质是一种hash,具有唯一、无序、不可重复性
虽然也用花括号表示,但没有字典的键值对概念,就是个集合而也
1 | a = {1, 2, 3} |
{1, 2, 3, 4, 5}
{1, 2, 3, 4, 5}
1 | # 自动去重值 |
{1, 2, 3}
查
判断元素在不在集合中
1 | a = {1, 2, 3} |
True
False
True
增 add方法
set可以存放字符串,数字和元组,不能存放列表[]
1 | a.add(4) |
{1, 2, 3, 4}
{1, 2, 3, 4, (5, 6, 7)}
{1, 2, 3, 4, (5, 6, 7), ‘数学概念集合’}
追加update
可传入列表、元组、集合追加
这比add方法好用啊
可以看到其中追加的字符串的打印结果是无序状态
1 | a = {1, 2, 3} |
{1, 2, 3, 4, 5, ‘列表’, 6, 7, 8, 9, ‘元组’, ‘集合’}
删
remove方法:元素不存在要报错
discard方法:即使元素不存在也不报错
1 | a = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 'test'} |
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
{1, 2, 3, 4, 5, 6, 7, 8, 9}
set()
并集交集子集父集
1 | a = {1, 2, 3, 4} |
{1, 2, 3, 4, 5, 6}
{3, 4}
1 | c = {7, 8} |
True
True