美文网首页
Python篇-列表,元组,字典的应用

Python篇-列表,元组,字典的应用

作者: TianTianBaby223 | 来源:发表于2018-08-29 10:02 被阅读84次

一 : 列表

  • 基本操作

列表 : 是由一系列按特定顺序排列的元素组成,用[]来表示列表,并用,来分隔其中的元素
列表中的元素可以是 数字,字符串,列表,布尔值,所有的都能放进去,列表是有序的,元素可以被修改

li = [1, 12, 9, "age", ["王总好", "雪芙"], "美丽"]

列表中的元素可以迭代,就是可以循环的意思啦

for item in li:
    print(item)

列表取索引值

print(li[0])

切片取值

print(li[0:-1])

列表元素,可以被修改

li[1] = 120

根据下标删除某个元素

del li[1]

切片方式修改列表元素

li[0:2] = [100, 200]

切片方式删除列表元素

del li[2:4]
print(li)
[1, 12, ['王总好', '雪芙'], '美丽']

使用 in 查看某元素是否在列表中

 v = 12 in li
 print(v)
True
  • 列表转换

将字符串转换成列表,内部使用for 循环

s = "sdfjkldsfkljdsfj"
new_li = list(s)
print(new_li)
['s', 'd', 'f', 'j', 'k', 'l', 'd', 's', 'f', 'k', 'l', 'j', 'd', 's', 'f', 'j']

数字不能被迭代(不能转成list)

for item in list(123):
    print(item)
TypeError: 'int' object is not iterable

列表转换成字符串形式

li = [11, 22, 33, "123", "tz"]
r = str(li)
print(r)
[1, 12, 9, 'age', ['王总好', '雪芙'], '美丽']

列表转换成我们平时连在一起的字符串,需要自己写for循环(列表即有数字,又有字符串)

1129age['王总好', '雪芙']美丽

列表转换成字符串,列表中只有字符串时候的方法,join在内部也是for循环,循环每一个元素与前面进行拼接

li2 = ["123", "zzz"]
v = "".join(li2)
print(v)
123zzz
  • 列表常用方法

( 1 )追加方法
li = [55, 11, 22, 33, 44]
li.append(55)
li.append("tz")
[55, 11, 22, 33, 44, 55, 'tz']
( 2 )清空列表
li.clear()
print(li)
[]
( 3 )拷贝/复制(浅拷贝)
v = li.copy()
print(v)
( 4 )计算每个元素的次数
v = li.count(22)
print(v)
( 5 )extend,参数-可迭代对象
li.extend([9898, "lala"])
li.extend("厉害了")
print(li)
[55, 11, 22, 33, 44, 9898, 'lala', '厉', '害', '了']

与append区别

li.append([9898, "lala"])
print(li)
[55, 11, 22, 33, 44, [9898, 'lala']]
( 6 )索引位置,根据值获取当前索引位置(有同值情况下左边优先)
v = li.index(11)
print(v)
( 7 )插入,在指定索引位置插入值
li.insert(0, "DJB")
 print(li)
['DJB', 55, 11, 22, 33, 44]
( 8 )pop ,删除指定索引值,并获取删除当前值,没有参数默认删除最后一个元素
v = li.pop()
print(li)
print(v)
[55, 11, 22, 33]
44
( 9 )remove ,删除指定值
li.remove(33)
( 10 )列表反转
li.reverse()
print(li)
(11)sorted 排序,默认从小到大
li.sort()
print(li)
[11, 22, 33, 44, 55]
li.sort(reverse=True)
print(li)
[55, 44, 33, 22, 11]

二 : 元组

  • 基本操作

相比于列表,元组不可以被修改,并且元组不能被增加或者删除
注意 : 在写元组的时候最后加一个,

tu = (111, 111, 22, 33, ["66", "77"], "狗", (11, 22),)

索引

v = tu[0]
print(v)

切片

v = tu[0:2]
print(v)
(111, 111)

可以被for 循环

for item in tu:
    print(item)
  • 转换

字符串,列表,与元组之间的转换

s = "sdfsdflksdf"
li = ["11", 22]
print(tuple(s))
print(tuple(li))
print(list(tu))
('s', 'd', 'f', 's', 'd', 'f', 'l', 'k', 's', 'd', 'f')
('11', 22)
[111, 111, 22, 33, ['66', '77'], '狗', (11, 22)]

只有字符串的元组可以使用join拼接成字符串,但有数字的元组要用for循环

tu1 = ("11", "2sdf", "ee")
v = "_".join(tu1)
# print(v)
11_2sdf_ee

元组也是可迭代对象

li.extend(tu)
print(li)

元组和列表一样是有序的

print(tu[4][1])
77

元组的一级元素不可修改/删除/增加

tu[0] = 123 //报错
  • 元祖常用方法

( 1 )count 获取指定元素在元组中出现的次数
print(tu.count(22))
( 2 )index 获取某个元素在元组中的下标
print(tu.index(22))

三 : 字典

字典是一系列键值对,每个键都与一个值相关联,可以使用键来访问与之关联的值,与键相关联的值可以是数字,字符串,列表,字典,可以将任何值作为字典的值

  • 基本操作

info1 = {
    "k1": 18,
    "k2": True,
    "k3": [11, 22, 33, {"kk1": "vv1"}],
    "k4": (11, 22, 33, 44)
}
print(info1)
{'k1': 18, 'k2': True, 'k3': [11, 22, 33, {'kk1': 'vv1'}], 'k4': (11, 22, 33, 44)}

列表,字典不能作为字典的key (哈希问题),布尔值作为key 可能会与 key 为1或者0的值重复

info2 = {
    1: 'aaa',
    "k": "kkk",
    True: "123",
    # [11, 22]: 123,
    (1, 2, 3): "ddf",
    # {'k1': 'v1'}: 123,
}
print(info2)
{1: '123', 'k': 'kkk', (1, 2, 3): 'ddf'}

访问

info2['k']

字典是无序的

v = info2[1]
print(v)
123

删除

del info2["k"]
 print(info2)
{1: '123', (1, 2, 3): 'ddf'}

循环,默认循环所有的key

for item in info2:
    print(item)
1
k
(1, 2, 3)

等同于

for item in info2.keys():
    print(item)

循环values

 for value in info2.values():
   print(value)
123
kkk
ddf

循环key,value

for k, v in info2.items():
    print(k, '+++', v)
1 +++ 123
k +++ kkk
(1, 2, 3) +++ ddf
  • 字典常用方法

( 1 )clear
info2.clear()
{}
( 2 )浅拷贝
info2.copy()
( 3 )fromkeys 根据序列创建字典,并指定统一的值
dic = {'tz': '帅', 'zz': '酷'}
v1 = dic.fromkeys(["k1", 123, "999"], 111)
print(v1)
{'k1': 111, 123: 111, '999': 111}
( 4 )get 根据key获取值,更安全,key没有根据后面参数创建,默认值为None
v2 = info2.get('1111', 111)
print(v2)
111
( 5 )指定某一个key 删除掉,并获取值,key没有根据后面参数创建
v3 = info2.pop('ke1111', 123)
print(v3)
( 6 )随机删除,并获取值
key, value = info2.popitem()
item = info2.popitem()
print(info2, '++', key, '++', value, '++', item)
{1: '123'} ++ (1, 2, 3) ++ ddf ++ ('k', 'kkk')
( 7 )setDefault 设置值,如果已经存在,不设置,获取当前key对应的值,如果不存在,设置, 获取当前key对应的值
v5 = info2.setdefault('傻啊', '哦哦哦')
print(info2, '++', v5)
{1: '123', 'k': 'kkk', (1, 2, 3): 'ddf', '傻啊': '哦哦哦'} ++ 哦哦哦
( 8 )update 已经存在更新,不存在则添加进去
info2.update({'吴亦凡': 666, 1: '新的'})
print(info2)
{1: '新的', 'k': 'kkk', (1, 2, 3): 'ddf', '吴亦凡': 666}
info2.update(吴亦凡=666, k4='zzzz' , g = 3)
print(info2)
{1: '123', 'k': 'kkk', (1, 2, 3): 'ddf', '吴亦凡': 666, 'k4': 'zzzz', 'g': 3}

相关文章

  • Python篇-列表,元组,字典的应用

    一 : 列表 基本操作 列表 : 是由一系列按特定顺序排列的元素组成,用[]来表示列表,并用,来分隔其中的元素列表...

  • Python基础之元组、字典,集合详解

    之前总结了Python列表,这篇总结Python的元组,字典和集合。 一 元组 tuple Python 的元组与...

  • days07第二篇

    上一篇文章讲的是pycharm的安装和使用,这一篇讲的是元组,列表,集合,字典的应用和使用方法一,元组元组和列表最...

  • 第3章:内建数据结构、函数及文件

    python的常用数据结构:元组、列表、字典和集合 元组(tuple):固定长度、不可变的python序列 列表:...

  • 基础·数据容器·列表&元组

    Python基础教程 类型 数据集合包括:列表,元组,字典 列表=========================...

  • py基础-列表、元组、字典以及集合

    Python基础篇 仅你 共享上次编辑时间: 7月 27, 2020 列表,元组,字典,集合列表:属于容器,可变,...

  • 第三周总结

    列表 元组 字典 字符串 List(列表) 是Python中使用最频繁的...

  • 2018-06-29

    python学习 学习python字符串、列表、元组、字典、日期和时间模块

  • Python-07-16

    菜鸟学Python,Python的组合数据类型:列表——案例元组——拓展[dir/help]集合字典列表:...

  • Python notes(2/3)

    目录 一,python 字符串 二,Python列表(List) 三,Python 元组 四,Python字典 五...

网友评论

      本文标题:Python篇-列表,元组,字典的应用

      本文链接:https://www.haomeiwen.com/subject/znfcwftx.html