一起学python 6 列表、元组、字典、运算符、集合 方法总结

列表

1.简介


列表就是可变的数组,之所以是可变的是因为随随便便就可以增加和减少操作。形式如下:list = []。 访问列表主要是索引和切片,索引从左到右第一个是0,从右到左第一个是-1;切片包含起始的数字,但不包含末尾的数字。

Example:(访问列表两种方式,单个元素访问通常下标,多个元素访问通常切片。)
    list=[1,2,9,4]
    print list[0],list[1:3]
    print list[::-1] 步长切片
Result: 1 [2,9]
    [4,9,2,1]

2.追加

Example1:(单一追加)
    dota=[1,2,3]
    dota.append(9)
    print dota
Result: [1,2,3,9]

Example2:(列表和列表之间追加)
    dota1=[1,2,3]
    dota2=[4,5,6]
    dota1.extend(dota2)
Result: [1,2,3,4,5,6]

Example3:(+连接,*重复)
    dota1=[1,2,3,4]
    dota2 = [3,4]
    dota3 = dota1+dota2
    dota4 = dota2*2
    print dota3,dota4
Result:[1,2,3,4,3,4] [3,4,3,4]

3.插入指定位置

Example:
    dota=[1,2,3]
    dota.insert(2,9)
    print dota
Result: [1,2,9,3]

4.删除列表元素

Example1:(删除末尾元素)
    dota=[1,2,3]
    dota.pop()
    print dota
Result: [1,2]

Example2:(删除指定位置的元素)
    dota=[1,2,3]
    dota.pop(0)
    print dota
Result: [2,3]

Example3:(del通过下标删除序列元素)
    dota=[1,2,3]
    del dota[0]
    print dota
Result: [2,3]

    Example4:(remove删除指定元素,ps用于移除列表中某个值的第一个匹配项)
    dota=[1,3,4,5,6,4]
    dota.remove(4)
Result:dota[1,3,5,6,4]

5.统计列表元素

Example:(统计列表中元素出现的次数)
    dota=[1,2,3,4,4,4,4,4]
    num=dota.count(4)
    print num
Result: 5

6.查找元素返回其第一次出现的下标

Example:
    dota = [1,1,2,3,2]
    num=dota.index(2)
    print num
Result: 2

7.列表其它技巧

Example1:列表嵌套列表,形成二维数组
    s = ['python', 'java', ['asp', 'php'], 'scheme']
    s[2][1]
Result: php

Example2:列表中数据类型可以混杂
    s = ['python',1,True]

Example3:其他数据类型转换成列表(也可以说是列表的其他写法)
    d=list('abcd')
    print d,type(d)
Result: ['a', 'b', 'c', 'd']

元组

1.简介

元组是不可变数组,因此当定义一个tuple时候它的元素就必须被确定下来,不能改变;list和tuple区别主要表现在list可以变能给下标赋值修改,而tuple不能;因此tuple不可变代码更安全,如果可能,能用tuple代替list就尽量用tuple,比如你写了一个API,然后要交给别人来对接,但是你想保证你的代码的安全以及不想让别人动你的代码,此时tuple就是相对合适的选择。

2.查找元素返回其第一次出现的下标

Example:
    dota = (1,1,2,3,2)
    num=dota.index(2)
    print num
Result: 2

3.统计元组中元素出现的次数

Example:
    dota=(1,2,3,4,4,4,4,4)
    num=dota.count(4)
    print num
Result: 5

4.元组其它技巧

Example1: 其他类型转换成元组
    a=[1,2,3,4]
    b=tuple(a)
    print b
Result:b=(1,2,3,4)

Example2: 区别点
    a= (4) 类型type(a)是int
    a=(4,) 类型type(a)是tuple

字典

简介:

格式如下:d = {key1 : value1, key2 : value2 }方法.keys()返回字典所有键的列表,.items()返回字典所有值的列表。

常用方法:
    Example1:访问元素
    a={'1':'dota','2':'dota2'}
    a['1']
    Result:‘dota’

    Example2:
    a={'1':'dota','2':'dota2'}
    a[a.keys()[0]]
    Result:dota

    Example3:
    a.items显示所有元素
    for k,v in d.iteritems():迭代器生成
    print k ,v
    
    Example4:
    dict(zip(‘abc’,range(2)))字典生成
    {k:v for k,v in zip(“abc”,range(3))}生成字典

运算符

+ 连接操作
* 重复操作
in 如果在指定的序列中找到值返回True
not in 检查一个值是否出现在一个序列中
is ,not is 判断指针是否相同(可以连接成比较两个字符是否相同的对象)
& 交集
| 并集
- 差集
^ 对称差集(不会同时存在)
and 和
or 或者(可以提供默认值)
/ 表示 浮点数除法,返回浮点结果;// 表示整数除法。
不支持a++ ++a,因为他把+看成单目运算符
is和==区别:
is判断的是a对象是否就是b对象,是通过id来判断的。
==判断的是a对象的值是否和b对象的值相等,是通过value来判断的。
例如:
In [1]: d={'sf':'ok','sk:':'not ok'}
Out[2]: {'sf': 'ok', 'sk:': 'not ok'}
In [3]: dd =d.copy()
In [4]: d is dd
Out[4]: False
In [5]: d == dd
Out[5]: True

Example:
x=None
y=x or 0
y
0

集合

Example:
>>> li=['a','b','c','a']
>>> se =set(li)
>>> se
set(['a', 'c', 'b'])
>>>list(set(['a', 'c', 'b']))

猜你喜欢

转载自blog.csdn.net/weixin_44239490/article/details/85461916
今日推荐