Datawhale训练营Python基础Day2

1.列表
1.1标志 [ ]
1.2基本操作

(1)创建
创建一个列表:l = [123, 'abc' , (1, 2, 3)]
>>> classmates = ['Michael', 'Bob', 'Tracy']
>>> classmates
['Michael', 'Bob', 'Tracy']
(2)
append() 	将参数作为一个元素增加到列表的末尾
extend() 	    将参数作为一个列表去扩展列表的末尾
insert() 	    将参数插入列表的指定位置

>>> classmates.append('Adam')
>>> classmates
['Michael', 'Bob', 'Tracy', 'Adam']

>>> classmates.insert(1, 'Jack')
>>> classmates
['Michael', 'Jack', 'Bob', 'Tracy', 'Adam']

>>> classmates.pop()
'Adam'
>>> classmates
['Michael', 'Jack', 'Bob', 'Tracy']

>>> classmates.pop(1)
'Jack'
>>> classmates
['Michael', 'Bob', 'Tracy']

(3)替换
>>> classmates[1] = 'Sarah'
>>> classmates
['Michael', 'Sarah', 'Tracy']

(4)删除
从列表中获取元素:member[索引值](注意:索引值从0开始)
从列表删除元素:
remove() 	    member.remove('元素名')(注意:元素必须存在于列表中,否则会报错)
del() 	    del member[索引值]
pop() 	        pop()方法在删除指定对象时,会返回要删除元素的值。可以理解为一个提示作用,提示你删除的是哪一个元素。
原文:https://blog.csdn.net/yatum_2014/article/details/81435600

(5)拷贝
1. 使用切片
   切片在python中的作用是非常大的,可用作于所有的可迭代对象。
   使用: list2 = list1[:]
 2.使用copy
   copy在python中可以实现拷贝一个对象。使用: list2 = list1.copy()
3. 使用循环复制法
   可以循环遍历list1,将值插入到list2中。使用: list2 = [for i in list1]
原文:https://www.cnblogs.com/fight-xiao/p/8660208.html

(6)列表相关方法:
1、list.count()统计:
list = [6, 4, 5, 2, 744, 1, 76, 13, 8, 4]
list_count = list.count(4)  # 统计某个元素在列表中出现的次数
print("4 在列表中出现过 %s 次" % list_count)
4 在列表中出现过 2 次

2、list.append()添加对象:
list = [6, 4, 5, 2, 744, 1, 76, 13, 8, 4]
list.append("obj")  # 在列表末尾添加新的对象
print(list)
[6, 4, 5, 2, 744, 1, 76, 13, 8, 4, 'obj']

3、list.extend()扩展列表:
list = [6, 4, 5, 2, 744, 1, 76, 13, 8, 4]
list1 = [123, 456, 789]
list.extend(list1)  # 扩展列表,在列表末尾一次性追加另一个列表中的多个值(相当于把list1的元素复制到了list)
print(list)
[6, 4, 5, 2, 744, 1, 76, 13, 8, 4, 123, 456, 789]

4、list.pop()删除对象:
list = [6, 4, 5, 2, 744, 1, 76, 13, 8, 4]
list.pop(1)#移出列表中的一个元素,(默认最后一个元素)
print(list)
[6, 5, 2, 744, 1, 76, 13, 8, 4]

5、list.remove()删除匹配项:
list = [6, 4, 5, 2, 744, 1, 76, 13, 8, 4]
list.remove(4)  # 移除列表中某个值的第一个匹配项(只会移出第一个)
print(list)
[6, 5, 2, 744, 1, 76, 13, 8, 4

6、list.insert()插入对象:
list = [6, 4, 5, 2, 744, 1, 76, 13, 8, 4]
list.insert(3, "test")#将对象插入列表的第三个位置
print(list)
[6, 4, 5, 'test', 2, 744, 1, 76, 13, 8, 4]

7、list.copy复制列表:
list = [6, 4, 5, 2, 744, 1, 76, 13, 8, 4]
list1 = list.copy()    # 复制一个副本,原值和新复制的变量互不影响
print(list1)
[4, 8, 13, 76, 1, 744, 2, 5, 4, 6]

8、list.reverse()反向排序:
list = [6, 4, 5, 2, 744, 1, 76, 13, 8, 4]
list.reverse()  # 反向列表中元素
print(list)
[4, 8, 13, 76, 1, 744, 2, 5, 4, 6]

9、list.index()获取索引:
 # 修改第一个获取到对象
list = [6, 4, 5, 2, 744, 1, 76, 13, 8, 4]
list_index = list.index(4)  # 从列表中找出某个值第一个匹配项的索引位置
list[list_index] = 999 #将我们获取到的索引给他修改为999
print(list)
[6, 999, 5, 2, 744, 1, 76, 13, 8, 4]
# 修改所有获取到对象
list = [6, 4, 5, 2, 744, 1, 76, 13, 8, 4]
for i in range(list.count(4)):  # 用列表的方法count找到有多少元素等于4,然后for在来循环
    list_index = list.index(4)  # 找到的每一个4都用来赋给list_index
    list[list_index] = 999  # 最后将最后将我们获取到的索引改为999
    print(list)   # print我放入了for循环里面,所以输出了两条,但是从这里我们可以看到,第一次改了第一个4,第二次改了第二个4
[6, 999, 5, 2, 744, 1, 76, 13, 8, 4]
[6, 999, 5, 2, 744, 1, 76, 13, 8, 999]

10、list.sort()排序:
list = [6, 4, 5, 2, 744, 1, 76, 13, 8, 4]
list.sort()#对原列表进行排序.根据ascii排序
print(list)
[1, 2, 4, 4, 5, 6, 8, 13, 76, 744]

11、list[obj]步长:
list = [6, 4, 5, 2, 744, 1, 76, 13, 8, 4]
print(list[0:-1:2])  # 这个被称为步长,最后一个2代表每隔2个元素打印一次,默认就是一步
print(list[::2])  # 这种效果和上面差不多,如果是从0开始,可以把0省略不写


函数:
12、len(list):
list = [6, 4, 5, 2, 744, 1, 76, 13, 8, 4]
len(list)    # 返回列表元素的个数
print(len(list))
10

13、max(list):
list = [6, 4, 5, 2, 744, 1, 76, 13, 8, 4]
print(max(list))# 返回列表元素的最大值
744

14、min(list):
list = [6, 4, 5, 2, 744, 1, 76, 13, 8, 4]
print(min(list))# 返回列表元素的最小值
744
原文:https://www.cnblogs.com/smelond/p/7857701.html

2.元组tuple

2.1标志
>>> classmates = ('Michael', 'Bob', 'Tracy')
2.2基本操作
创建一个元组:t = (123, 'abc', (1, 2, 3))
>>> t = ('a', 'b', ['A', 'B'])
>>> t[2][0] = 'X'
>>> t[2][1] = 'Y'
>>> t
('a', 'b', ['X', 'Y'])
tuple的元素确实变了,但其实变的不是tuple的元素,而是list的元素。
tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。
即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!

3.String字符串
3.1定义
字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。
创建字符串很简单,只要为变量分配一个值即可。例如:
var1 = ‘Hello World!’
var2 = “Python Runoob”
3.2运算
下表实例变量 a 值为字符串 “Hello”,b 变量值为 “Python”:

操作符描述实例
+字符串连接>>>a + b ‘HelloPython’
*重复输出字符串>>>a * 2 ‘HelloHello’
[]通过索引获取字符串中字符>>>a[1] ‘e’
[ : ]截取字符串中的一部分>>>a[1:4] ‘ell’
in成员运算符-如果字符串中包含给定的字符返回 True>>>“H” in a True
not in成员运算符 -如果字符串中不包含给定的字符返回 True>>>“M” not in a True
r/R原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。>>>print r’\n’ \n >>> print R’\n’\n

3.3转义

转义字符描述
(在行尾时)续行符
\反斜杠符号
单引号
"双引号
\a响铃
\b退格(Backspace)
\e转义
\000
\n换行
\v纵向制表符
\t横向制表符
\r回车
\f换页
\oyy八进制数,yy代表的字符,例如:\o12代表换行
\xyy十六进制数,yy代表的字符,例如:\x0a代表换行
\other其它的字符以普通格式输出

3.4格式化

符 号描述
%c格式化字符及其ASCII码
%s格式化字符串
%d格式化整数
%u格式化无符号整型
%o格式化无符号八进制数
%x格式化无符号十六进制数
%X格式化无符号十六进制数(大写)
%f格式化浮点数字,可指定小数点后的精度
%e用科学计数法格式化浮点数
%E作用同%e,用科学计数法格式化浮点数
%g%f和%e的简写
%G%f 和 %E 的简写
%p用十六进制数格式化变量的地址
符号功能
*定义宽度或者小数点精度
-用做左对齐
+在正数前面显示加号( + )
<sp>在正数前面显示空格
#在八进制数前面显示零(‘0’),在十六进制前面显示’0x’或者’0X’(取决于用的是’x’还是’X’)
0显示的数字前面填充’0’而不是默认的空格
%‘%%‘输出一个单一的’%’
(var)映射变量(字典参数)
m.n.m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

原文:http://www.runoob.com/python/python-strings.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值