Python基础知识:列表、元组(tuple)、字典、集合、字符串

列表、元组(tuple)、字典、集合、字符串

列表可以嵌套;

领取Python学习资料可以加小编的微信:tz2020jd

x = [['a', 'b', 'c'], [1, 2, 3]]
print(x[0])  # ['a', 'b', 'c']
print(x[0][1])  # 'b'

元组不同于列表的是: 元组不能修改,用()表示;(不能增删改)
元组一般保存不同类型的数据;
注意: 只有一个元素的元组: single_tuple = (5,) ,也就是说元组中只包含一个元素时,需要在元素后面添加逗号;不能这样写 single_tuple = (5),这样是一个整形的变量;另外,创建元组也可以不加上括号;


tup = "a", "b", "c", "d"
print(tup)
print(type(tup))

tup2 = ("a",)  # 一个元素的元组 (后面必须加上一个括号)
print(tup2)
print(type(tup2))

 


输出:

('a', 'b', 'c', 'd')
<class 'tuple'>
('a',)
<class 'tuple'>

 


元组的用途: ① 作为函数的参数和返回值;②格式化字符串(格式字符串本身就是一个元组);(3)让列表不可以被修改,保护数据安全;
格式化字符串和元组的关系,看下面的三个print输出是一样的:
# 元组和格式化字符串的关系
info_tuple = ("小明", 21, 1.85)
print("%s 年龄是 %d 身高是 %.2f" % ("小明", 21, 1.85))
print("%s 年龄是 %d 身高是 %.2f" % info_tuple)

info_str = "%s 年龄是 %d 身高是 %.2f" % info_tuple
print(info_str)

 


元组和列表可以相互转换 : ①使用list(元组)将元组转换成列表;②使用tuple将列表转换成元组;
字典: ① 键必须是唯一的 ②值可以取任意类型,但是键只能使用字符串、数字或者元组(键只能是不可变类型)。
**遍历字典的时候for k in dict 中的k是键,而不是值。(普通的for),不过也可以通过items()方法遍历键值对: **
dict_student = {'name': 'xiaoming', 'age': '18', 'qq': "1234"}

# 遍历方式一
for k in dict_student:  # k 是key
    print(k, end=" ")
    print(dict_student[k])

print("*" * 20)
# 遍历方式二
for k, v in dict_student.items():
    print(k, v)

 


字符串中的转义字符:\n表示换行,而\r表示回车,字符串中的函数isspace()判断的时候\t\n\r都是表示的空白字符;
isdecimla()、isdigit()、isnumeric()都不能判断字符串中的小数,(可以判断字符串中的整数);
集合set的使用: 可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。 集合还有一些方法add()、update()、pop()等;
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
print(student)  # 输出集合,重复的元素被自动去掉

if 'Rose' in student:
    print('Rose 在集合中')
else:
    print('Rose 不在集合中')

# set可以进行集合运算
a = set('abracadabra')
b = set('alacazam')

print(a - b)  # a和b的差集
print(a | b)  # a和b的并集
print(a & b)  # a和b的交集
print(a ^ b)  # a和b中不同时存在的元素


输出:

{'Jim', 'Mary', 'Jack', 'Rose', 'Tom'}
Rose 在集合中
{'b', 'd', 'r'}
{'b', 'l', 'c', 'd', 'z', 'm', 'a', 'r'}
{'c', 'a'}
{'b', 'm', 'l', 'r', 'd', 'z'}


相关公共方法: len、del、max、min(只会比较字典的key);
in、not in的使用(类似数据库…);
pass关键字的使用: 比如if … 下面没有写语句,python会提示报错,但是你可以写一个pass就不会报错了;也就是说如果在开发程序时,不希望立即编写分支内部的代码,可以使用pass作为一个占位符;可以保证程序代码结构正确;
TODO关键字的使用,在编写程序框架的时候,可以用TODO标示某个地方还没有做某事;
迭代器的使用
import sys  # 引入 sys 模块

lst = [1, 2, 3, 4]
it = iter(lst)  # 创建迭代器对象

# 使用for 遍历迭代器
for x in it:
    print(x, end=" ")
print()

it = iter(lst)  # 之前那个已经到了最后了,再次获取
# 使用next + while遍历
while True:
    try:
        print(next(it), end=" ")
    except StopIteration:  # 防止无限循环
        sys.exit()  # 退出程序
print()


输出:

1 2 3 4 
1 2 3 4 
1
2
字符串中切片的使用: ①类似截取,但是可以指定步长;②python中支持倒序索引,最后一个是-1,倒数第二个是-2…;

# 切片的使用
num_str = "12345678"

print(num_str[2:6])  # [2,5]
print(num_str[2:])  # 从2位置到结束
print(num_str[0:6])  # 输出[0,5]的
print(num_str[:6])  # 一开始到5的
print(num_str[:])  # 全部输出
print(num_str[::2])  # 指定步长  第三个参数指定步长
print(num_str[1::2])  # 从第一个开始 步长为2

print("*" * 20)
print(num_str[-1])  # 输出最后一个位置的
print(num_str[2:-1])  # 从第二个开始到倒数第二个

print("*" * 20)
# 一个面试题 逆序输出
print(num_str[-1::-1])  # 步长为-1代表向左切片,从最后一个开始切
print(num_str[::-1])


输出:

3456
345678
123456
123456
12345678
1357
2468
********************
8
34567
********************
87654321
87654321
 

领取Python学习资料可以加小编的微信:tz2020jd

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值