python基础2

可变字符串

import io
s = 'he'
sio = io.StringIO(s)
>>>sio
'he'

基本运算符

>>>a = 4
>>>3<a<10
True

位操作

在这里插入图片描述
最后一个是异或 就是a,b不一样的是1 一样的是0
在这里插入图片描述

LIST

加粗样式在这里插入图片描述
List创建
a = list()
a = []

a  = list("gaoqi")
>>>a
['g','a','o','q','i']
>>> a = range(10)
>>> a
range(0, 10)
>>> type(a)
<class 'range'>
>>> list(a)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>

range()创建整数列表(很方便)

range([start], end [,step])

>>> list(range(0, 10 ,1))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(range(3, 20 , 2))
[3, 5, 7, 9, 11, 13, 15, 17, 19]
>>> list(range(3, 20 , -1))
[]
>>> list(range(20 ,3, -1))
[20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4]

**

推倒式

>>> a = [x*2 for x in range(5)]
>>> a
[0, 2, 4, 6, 8]
>>> a = [x*2 for x in range(100) if x%9 == 0] #加了过滤
>>> a
[0, 18, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198]
>>>

列表元素的增加和删除

一般只在尾部添加删除 尽量不在中间
增加

1. append()

>>> a = [20,40]
>>> a.append(100)
>>> a
[20, 40, 100]

2. +运算符

>>> id(a)
2232562900872
>>> a = a+[50]
>>> a
[20, 40, 100, 50]
>>> id(a)
2232562964040

3. extend() ——用来把2个list合并比append好用

>>> a.extend([100,90])
>>> a
[20, 40, 100, 50, 100, 90]
  1. insert()——插入元素
>>> a  = [10, 20, 30]
>>> a . insert(2, 100)
>>> a
[10, 20, 100, 30]

乘法拓展

>>> a
[10, 20, 100, 30]
>>> a*3
[10, 20, 100, 30, 10, 20, 100, 30, 10, 20, 100, 30]

list删除

  1. del 删除———不提倡使用,从中间加元素很浪费内存
>>> a = [10, 20 ,30]
>>> del a[1]
>>> a
[10, 30]

在这里插入图片描述
(做的是复制的工作其实)

  1. pop()——默认返回最后一个值
>>> a = [10, 20 ,30]
>>> a.pop()
30
>>> a
[10, 20]
>>> a.pop(1)
20
>>> a
[10]
>>>

  1. remove() ——元素不存在会报错
>>> a=  [10, 20, 30 ,40 ,50 ,60,70]
>>> a.remove(20)
>>> a
[10, 30, 40, 50, 60, 70]
  1. index()获得指定元素
>>> a = [10, 20, 30, 40, 50, 20, 30, 20, 30]
>>> a.index(20)
1
>>> a.index(20, 3)#从索引位置3开始往后搜索的第一个20
5
>>> a.index(30, 5, 7)#从索引位置5到7这个区间,第一次出现30的位置
6
>>> a.index(20, 5, 7)
5
>>>
  1. count()

  2. len()

切片操作

 a = [10, 20, 30, 40, 50, 60, 70]
>>> a[1:6:2]
[20, 40, 60]
>>> a[1:6:1]
[20, 30, 40, 50, 60]
>>> a[1::2]
[20, 40, 60]
>>> a[1::1]
[20, 30, 40, 50, 60, 70]
>>> a[-5:-3]
[30, 40]
>>> a[-5:3]
[30]
>>> a[::-1]
[70, 60, 50, 40, 30, 20, 10]

列表排序(不建新列表)

>>> a = [20, 10 ,30 ,40]
>>> a.sort()#默认升序
>>> a
[10, 20, 30, 40]
>>> a.sort(reverse=True)#也可以降序
>>> a
[40, 30, 20, 10]
>>> import random
>>> random.shuffle(a) #打乱顺序
>>> a
[40, 20, 30, 10]
>>> random.shuffle(a)
>>> a
[30, 10, 40, 20]

建立新列表

>>> a = [20, 10, 30, 40]
>>> id(a)
2232562989704
>>> a = sorted(a)
>>> id(a)
2232563116168
>>>

多维列表

元组

>>> b = tuple()
>>> b
()
>>> b = tuple(range(3))
>>> b
(0, 1, 2)
>>> b = tuple([2,3,4])
>>> b
(2, 3, 4)
>>> del b
>>> b
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'b' is not defined
>>>

>>> a = (20, 30, 10, 9, 8)
>>> a[1]
30
>>> a[1:3]
(30, 10)
>>> a[1] = 300
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>>

zip函数

>>> a = (10, 20, 30)
>>> b = (20, 30, 40)
>>> c = (13, 31, 51)
>>> d = zip(a,b,c)
>>> list(d)
[(10, 20, 13), (20, 30, 31), (30, 40, 51)]

生成器推导式创建元组

>>> s = (x*2 for x in range(5))
>>> s.__next__()
0
>>> s.__next__()
2
>>> s.__next__()
4
>>> s.__next__()
6
>>> s.__next__()
8
>>> s.__next__()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
StopIteration
>>>

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值